Reworked packet parsing, support {Client,Server}::Parse().
Templated and exposed PacketGenerator.