Prove we can decode empty constants.

Turns out java can't read zero bytes from an EOF stream.
Make the other short read errors a little more helpful.
Merge pull request #87 from seomoz/phs/decode-empty-constant

Phs/decode empty constant