Added ReadVarint32() and ReadVarint64() method on SliceReader
Simplified the DocumentCollection experimental layer, to use the new encoders

- Use a value encoder to pack a document into bytes
- Split the bytes in chunks if they are too big, using (id, chunk_index) as the key
- Added a simple JsonNetCodec<T> implementation for the unit test
Also added a simple test codec for Protocol Buffers (using protobuf-net)