Added block placement handling for several blocks (see #119).

Placement handling for dispensers, droppers, levers, furnaces, and
hoppers. Right-click (toggle) handling for levers.
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.
Included a copy of the GPL in the distribution (fixes #147).
Limit player yaw to values in the [0,360). Fixes #173.
Added .gitattributes to enforce LF line endings.
Fixed skylight in empty ChunkSnapshot sections to be 15 instead of 0.

Also, fixed logic for isSectionEmpty.
Added missing Override annotations, fixed GlowWorld and GlowPlayer line endings.
Fixed loading of blocks with high IDs.
Sound radius is min(volume * 16, 16)