BlockMap unit tests, and allow spaces as well as tabs in block maps.

I wrote a characterization test for BlockMap.load, then refactored the load function so I could add individual unit tests for the parser.  

Added -grid command line argument to overlay small crosses every 100 blocks, making it easier to measure distance on the map.