Implement unified USCI driver for UART and SPI

All communication is handled by the USCI functions send() and recv().
uart.h and spi.h provides function and macros to initialize and interact
with their respective USCI modules.

For example, UART_init() initializes the USCI_A0 struct for UART mode.
UART_send() and UART_recv() are macros that expand to the appropriate call
to send() and recv().