Fix a bug in the way BufferInputStream was handling data. Since it was operating on a slice, the parent buffer position wasn't being updated. This was intentional but has other side effects like not advancing to the next chunk if using the InputStream to read objects using Jackson's ObjectMapper. This change to Buffer and the JsonCodec fix the problem and provide the expected behavior of advancing the pointer in the buffer as the InputStream is being read from.