Short circuit decoding if no data after header.

This commit introduces an immediate decode and exit behavior if the
currently-extracted payload is the size of the initial header size
for the varint, which prevents zero-length allocations with ``make``.
Force encoding as 32-bit varints.
Merge pull request #1 from matttproud/fix/decoding/buffer-size

Short circuit decoding if no data after header.