USART / Headers

Confirmed USART working (although relocated it since, double check when
there is access to STK600), put USART functions into seperate file
usart.cpp and usart.h .

Also added main.h file to store constants / defines needed by more than
one file - e.g. CPU_F, etc.

Fixed the way timing was written, updated it to be a .cpp file and gave
it a header.

Everything compiles with no errors.