* renamed TeraAdvancedDeflator into TeraVisitingDeflator because it is using the visitor pattern.
+ implemented 16-bit dense and sparse arrays
+ added some comments
Implemented serialization handlers and factories for tera arrays.
+ added interface TeraArraySerializationHandler<T extends TeraArray>
+ added abstract base class TeraArray.SerializationHandler<T extends TeraArray>
+ added interface TeraArrayFactory<T extends TeraArray>
* changed class Chunk to use the new factories
* changed class AdvancedConfig to use the new factories
+ added a log message to LocalChunkProvider about the size of the cache for nearby chunks
+ implemented serialization handlers using ByteBuffers for every tera array
+ implemented benchmarks for different ways of serializing tera arrays
+ added Chunks.proto describing simple messages for chunks and tera arrays
- removed stream based serialization handlers due to massive performance problems
+ added a benchmark to measure performance of tera array serialization for protobuf
+ added protobuf file implementing messages for chunks and tera arrays
+ implemented registry for tera array factories and serialization handlers
+ implemented TeraArray.encode(TeraArray) which encodes the supplied tera array into a protobuf message
+ implemented TeraArray.decode(ChunksProtobuf.TeraArray) which decodes the supplied protobuf message into a tera array
* added a type identifier to the protobuf message for future use in mod supplied tera array implementations
+ added position and state to protobuf message Chunk
* changed required fields to optional in protobuf messages for chunks and tera arrays
+ added method createSerializationHandler() to class TeraArray.Factory
+ added class TeraArrayUtils which contains the former methods of class TeraArrays
* improved the implementation of the tera array registry (class TeraArrays)
* changed class UIMenuConfigAdvanced to use the new tera array registry
* changed class AdvancedConfig to use the new tera array registry
Added protobuf support for the Chunk class. Switched to protobuf to store new worlds.

+ added Chunks class which is responsible for mod extensions of chunk data and supports encoding and decoding of chunks into protobuf messages
+ added interface ProtobufHandler<T, M> to implement encoders and decoders for protobuf messages
+ added static class ProtobufHandler to Chunk class
+ added ChunkStoreProtobuf which uses protobuf internally to store chunks

* internally renamed the liquid data into extra data
* added checks to AdvancedConfig to make sure it does not throw if some settings can't be found
* updated Chunks.proto to support mod extensions of chunk data
* updated WorldRenderer to use ChunkStoreProtobuf instead of ChunkStoreGZip
* changed classes Chunks and TeraArrays to be non-static. Use getInstance() to retrieve the singleton.
* changed classes WorldRenderer, ChunkStoreGZip and ChunkStoreProtobuf to support old worlds which still use ChunkStoreGZip
+ added some comments
Merge #417 by @mbrotz - chunk store improvements