Add support for packed fields.

Protobuf allows some fields to be encoded packed:

https://developers.google.com/protocol-buffers/docs/encoding#optional

This patch will allow protostuff to read these fields.
It is hard to understand what this method does from the code. Can we give it more meaningful name?