Added interrupt support to access the I2C bus (not working for data reads as the interrupt for reads is only generated when the RX FIFO is full, which requires 16 data packets to be received before the interrupt is generated, so in this case it polls the RX fifo state to confirm that at least 1 byte is on the RX FIFO as it does in polled mode). Moved configuration options for I2C and SPI (bus enable and IO mode) to the Raspberry Pi configuration script, and register the buses and devices on the bsp_predriverhook function.