[RFC] UART support

This contains UART support, as well as some documentation and a few rather tricky and potentially quite important fixes for spi (d1ba83e) and adc_queue (0d8bbc2). These could use some review to make sure I haven't missed something.

The UART code comes with an example that works quite well on my end but it would be nice to have further verification.