All your questions are answered in I2C specification.
1. To communicate 0 or 1 all devices on the bus can either drive the bus low, or let go of the bus, which will make it go high.
2. I2C protocol has a state machine that. When a master successfully issues a start condition, it owns the bus until it releases it though a stop condition. Between the start and stop conditions the bus is busy an no other master can issue a start condition.
3. Repeated start is a start without prior stop. This may be necessary when you are reading a register and need to change write to read direction after you wrote the register address and want to read the data. Some devices don't tolerate a stop and a new start in this case.