Write more tests!

This completes the test coverage for the map refactor (I think) [I mean everything that has changed not all of GenericMap btw].

Also adds io tests.

Closes #216 #217 #219