Introduce "decodable" construct in PacketLang

In turn, managed to make encoding compile, cutting out hundreds of lines
of nastiness! \o/
Reimplement packet parsing with new constructs