Implement circular buffer for UART

Incomming UART messages are stored by an ISR in a circular buffer.
Add macros for circular buffers