Use 16-bit (MC 1.8) block types internally.

- Character array is used for unsigned representation.
- Non-air block count is tracked in ChunkSection.
- Retains compatibility with current Anvil format.
- Public API currently remains unchanged.
Load mob spawners and NBT lists more cleanly (fixes #135).
Recount non-air after chunk generation (fixes #239).
Added block placement handling for several blocks (see #119).

Handling for stairs, chests, ender chests, slabs, hay, logs, and quartz.
Improved canAbsorb and added canOverride, implemented for slab, fire, and tall grass.
Made warning on incorrect MaterialData more uniform, improved formatting.
Implements 1.8 codecs (0x41 up to 0x49). Also implemented +1 trick in GlowProtocol.

Implement ServerDifficulty codec.
Implement CombatEvent codec.
Add 0x43 (Camera).
Packet 0x48 codec added.
Packet 0x44 added (WorldBorder)
Packet 0x45 added. (Title). Some formatting.
Add 0x49 (Entity update NBT). Using varLong now in WorldBorder.

Signed-off-by: William Lebel <lebelwilliam@gmail.com>