Add msgp code generator and report allocations

This PR fixes #13  and #14 .

The generated code is in `structdef_gen.go`. I'll send you another PR if the the code generator ends up writing substantially different code in the future.