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.