Handle some strange cases of floats, e.g. 52e3 in unittest.proto.
Support groups, even though they are deprecated.
Extensions can have a single bound.
Hexadecimal and octal integers can have signs.
Special case the infinity and NaN representations as float values.