stm32/i2c: Up speed to 300kHz, add BUSY and STOP checks

The STM32F40x and STM32F41x Errata sheet (Doc ID 022183) says that at
88-100kHz, the I2C peripheral may miss timing requirements.  Besides,
faster I2C is nice.

More importantly, before each read or write, the driver checks that the
BUSY and STOP flags are no longer set.  When one transaction finishes,
it STOPs the bus.  This process takes time, and with multiple users of
the I2C bus, on rare occassions another transaction would begin before
this process finished, putting the peripheral in an unrecoverable state
that broke all communication.