Add initial helper packing functions
Initial implementation for data: Command and RBPPacket header files; interfaces: Commandable and Serialiable
Integrate data sources to build
Move Pack logic to RBPPacket
Fix issue #3: decoupled the data and logic from RBPPacket and Command into structs. The Commandable interface takes advantage of the decoupled structs in order to accept the command data.
Commandable: ammend ToRBPPacketData data type
packet: basic encoding and decoding serialization
RBPPacket: remove IO include directives
packet: remove using RBPPacketData statement
RBPPacket: use pointer arithmetic instead of index of current position in data buffer
RBPPacket: remove pack* helper functions, added rbpbufset/get, updated Command and tests accordingly
RBPPacket: deleted. DecodeDataToCommand() was moved to Command, and rbpbufget/set was moved to Core.h
com: Added RBPServer to build
The server and client can communicate through the RaspbOOP protocol. A
lot of the functionality is hard-coded into rbp, therefore, a great
deal of work must be done in order to abstract out misplaced code into
logical units.

The server does not validate data. This must be implemented in order to
increase security. Packet length and parameters must be checked, and
the latter has to make sense within the context of the command
component it will be used with.

Packet lengths might be able to be standardized as the first 5 bytes of data will always contain packet header information, the next two bytes contain component and command IDs, and the next n bytes are packed floats that take up four bytes
each. A good way to validate the packet size would be to ensure that n
is indeed divisible by 4.

Naming conventions should also be kept up to standard. Command should
be renamed to RBPCommand, or perhaps the RBP- prefix should be dropped
altogether.

The RaspbOOP Transmission Protocol has to be explicitly implemented in
the code. Classes and functions are polluted by many seemingly random
numbers and index accesses that seem completely arbitrary. New
constants must be defined in the form of preprocessor directives or
through a class that deals specifically with data formatting.
RBPServer: use threading and callbacks to grab and post received data
RBPServer: update implementation after RBPPacket removal