Add support for encoding/decoding untyped messages
Rename putField to putWireTag
Add encodeMessage to match decodeMessage
Add Enum and Bounded instances for Enumeration