Describe the difference between I2C, SPI, and UART communication protocols in terms of speed, wire count, and master-slave relationships.