Bugfix: decoding optional non-present sub-messages.
Bugfix: decoding optional non-present sub-messages.

Found with quickcheck. The optional and non-present sub-message
accidentally got included in the result even though it was not in the
byte-sequence to decode. All the sub-message's fields were set to
undefined, even required ones, this was clearly buggy.

mmmries/gpb,olgeni/gpb