Optimizations

Further improved performance by adding pass-by-reference to the
byte-order conversion functors.
Also write directly into the message field, and eliminate copies.

Increased performance for all types.
Nested fields only incur 50% overhead
Overall Hg is 5% slower

There are still opportunities for optimization in the serialization
code.