Use an FSM to parse text protobuf.
Organise files.
Manipulating messages.

Assigning fields.
More data types parsed.
More fireld types parsed.
Tweak conditional order.

Make repeated field checks match generate.c - also removes a bit of
code and makes sure every code path has a return value.