Implement:
- serialize fields sorted by field number
(will break current oneof serialization check)
- simple extension option (Google::ProtocolBuffers compatibility)
- implement unknown fields (needs uPB support)
- prepare for the different sematics of proto3
- enum unrecognized values are always passed through
- unknown fields are always discarded
- any
- remove from fast path
- enum validation
- oneof handling
- required handling
- default value handling
- lazy fields
- custom options?
- generic extension methods perform a linear scan on the extension list
- better parameter checking/error handling in protoc plugin
- check duplicate oneof fields in check methods?
- check required fields in check methods?
- proto3 well-known types
- any
- struct
- fieldmask