Initial Protocol Structure Commits

Added the following packets
handshake
auth request
auth accept
auth reject
message

Along with some various methods for packing/unpacking the packets
for/from transmission
Packet Interface updates, housekeeping

Moved a few files around, added the Decode(String packet) method to the
interface, instead of placing it in the various message object
constructors
Encoding stuff + More housekeeping

Adding encoding code to the protocol packets
Removal of Length field + Message Packet Decoding

Realized the length field is only necessary for binary protocols.
Since this is based on strings we don't have to pass the length as a
field, just check it on either end.
Base encode and decode for packets
Unit Tests
Generic Packet Decoder + Numeric Constants
Beginning of Client Stack Implementation
Further client implementation
Added client message handling code.

Also, cammel case
Implemented client spawning

Needs work though
Implemented client message queue + housekeeping
Beginning auth implementation
Fixed packet id hardcoding
Initial message dispatch functionality

A lot of iteration is done using for loops.  This is intentional.
Iterators *will* break this code.
Fixed sendMessage bug

sendMessage was attempting to create a socket that already existed and
therefore always failed.
Added packet sending methods to the ClientInterface
More authentication work
Auth fixes
Added Notification Packet

Also added notification of client if destination id was not found