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.
Moved setAttachable() to BlockAttachable
Merged with master upstream
Cleanup, switched to new warning methods