Serial Communication and command structure on Maple

Serial Message reception works correctly on the the maple.
The checksum and byte stuffing have been correctly implemented

There is a basic command structure that has been added.
Every command will call cmd_registerCallback with it's command ID
and a pointer to a call back function with a prototype of void cb(uint8_t *)

This allows new commands to be easily added

TODO:  Implement the TX side of the communication