Moved overall packet header building

The packet shouldn't be responsible for adding the overall header and
checksum, the client can do that before sending it. This should make the
implementation of different protocols (MsgrServer) easier and cleaner.
BaseClient/DefaultClient abstraction

Client was actually what should've been the DefaultClient
Added offset parameter to Packet constructor

The server class has to tell the packet where to start reading.
Fixed packet forwarding

Prior to this you couldn't forward a received packet without rebuilding
it.
Merge pull request #17 from aura-project/clean_packet

Improved Packet Class