fix error handling for merge in protobuf handler

If we encountered an error while merging (stream length mismatch), we
wouldn't continue to process the current items, but instead shorten the
stream.  This patch ensures we keep filling in the result values and
None's for the one decoded response we're happy with.