Initial commit.

First demo of a map generator fully sketched out with some functions
still just unimplemented stubs.
Implemented most stuff; fixed compilation errors and warnings

Still to do: locations locations-to-bytes timestamps place-chunks
write-file.
Fixed some bugs; factored out zone creation in sub-zone
Fixed another bug and implemented some more functions

Fixed chunk :x and :z properties
Finished implementing map-exercise-1 and fixed compiler errors
Fixed bugs; now generates a world, though not exactly the one I wanted
Debugged, added columns of stone punching through glowstone layers
Eliminated one source of O(N^2) performance
Added (buggy) support for mob spawners, used in map-exercise-2
Major bug fix (zpos -> zPos); minor doc and indentation fixes
Added support for fire and wool; added real Data segment
Removed :eternal-fire, which no longer works in MC rel. 1.0.0

Added range check on merge-nybbles; could save my life later.
Removed comment that is no longer true
Added blocks.clj with block attributes; switched zone element to be hash

Added block-types.txt notes.
Renamed some terms and functions for greater consistency:

A "zone" is any data in an x,y,z grid of any size.
A "region" is a Minecraft region in any format.
An "mcmap" is a data structure containing a zone with blocks, a zone with
light levels, a zone with skylight levels, a 1-high zone containing a
height map, and a zone with opacity data.
Added corrected list of opaque blocks; added partial +opacity+

Unwrapped lines in block-types.txt.
Partial progress on computing light levels
Implemented real light calculation
Debugged lighting -- various bugs

Clip all zones to the chunk being created in extract-chunk.
In map-height, filter a series of numbers, not a series of blocks.
In spread-light, don't forget to include the current block as a candidate
light value.
Reversed y and z axes in zone; parallelized iterate-light-zone

Also added type hints, which were no actual help at all