allow use of arbitrary-size protobuf streams

This means setting up a new CodedInputStream for each message we want to read.
It's not the prettiest approach, but it seems to work. Another alternative
would be to use one stream for every GB, but ... why? I'm not clear why there
is a limit at all, other than the use of a signed int for storing the maximum
number of allowable bytes to be read.
Merge branch 'master' of github.com:ekg/vg