* bugfix: Incorrect handling of adjacent chunks in LocalChunkProvider.checkChunkReady()
* bugfix: Incorrect initialization of loop variable in PerlinTerrainGenerator.generateChunk()
Reimplemented TeraArray and TeraSmartArray in a more abstract way as a base for sparse block-data.
+ added abstract class TeraArray
+ added abstract class TeraByteArray
+ added class TeraByteArray8Bit
+ added class TeraByteArray4Bit
switched to the new TeraArray implementation in class Chunk
Merge branch 'develop' into simple-sparse-chunk

Conflicts:
	src/main/java/org/terasology/world/chunks/LocalChunkProvider.java
Merge branch 'standalone-bugfixes' into simple-sparse-chunk
+ implemented a first version of an 8 bit sparse array
* implemented automatic packing of completely generated chunks
* renamed classes TeraByteArray... into TeraDenseArray...
+ added new abstract base class for dense arrays
* automatic refactoring of class Chunks because of the renaming
* renamed class TeraSparseArray into TeraSparseArrayByte
+ added new abstract base class TeraSparseArray for sparse arrays
* renamed abstract method TeraArray.estimatedMemoryConsuptionInBytes() into getEstimatedMemoryConsumptionInBytes()
* better formatting of commandline output for packed chunks
* fixed several bugs in dense and sparse array implementations
+ added more expressive exception messages for dense and sparse arrays
* changed class Chunk to use one 8 bit array for light and sunlight because of hopefully higher compression potential
* changed class Chunk to compress both block and light data
class Chunk
* now using 8 bit tera arrays for block, sunlight, light and liquid data
* renamed method pack() to deflate()
+ added method inflate()

class TeraArray
* renamed method isPacked() to isSparse()
* renamed method pack() to deflate()
+ added method inflate()

classes TeraDenseArray, TeraDenseArrayByte, TeraDenseArray4Bit, TeraDenseArray8Bit
* renamed methods isPacked() and pack() accordingly
+ added stubs for method inflate() currently throwing UnsupportedOperationException

class TeraDenseArray8Bit
* extended method deflate() to support detection of best-case for deflation

class TeraSparseArray8Bit
* changed method deflate() to throw UnsupportedOperationException
* added support for best-case deflated arrays
finally all dense and sparse arrays are working

class Chunk
* switched to the appropriate dense array implementations for all block, sunlight, light and liquid data
* deflated chunks produce nicer log messages

class TeraArray
* moved header fields sizeXZHalf and sizeXYZHalf into this class
* made all header fields private and added getters to make them read only for all inherited classes

added class TeraArrays
+ added class TeraArrays for simple bit shifting operations

classes TeraDenseArrayByte, TeraDenseArray4Bit, TeraDenseArray8Bit
* moved common methods into TeraDenseArrayByte
* simplyfied implementations of 4Bit and 8Bit variants
* finally fixed all bugs in 4Bit variant
* greatly simplyfied implementation of methods readExternal() and writeExternal()

classes TeraSparseArrayByte, TeraSparseArray4Bit, TeraSparseArray8Bit
* moved common methods into TeraSparseArrayByte
* simplyfied implementations of 4Bit and 8Bit variants
* finally fixed all bugs in 4Bit variant
* greatly simplyfied implementation of methods readExternal() and writeExternal()
* implemented better memory consumption estimation
Merge branch 'develop' into simple-sparse-chunk
bugfix: incorrect initialization of loop variable in terrain generators
* marked original classes TeraArray and TeraSmartArray deprecated (package org.terasology.model.structures)
- removed useless field elementSizeInBit and its getter from class TeraArray
* updated inheriting classes accordingly
+ added some JavaDoc comments to the classes in package org.terasology.world.chunks.blockdata which describe the purpose of each class in a sentence or two.
+ added comment to deprecated classes TeraArray and TeraSmartArray