adjust URL patterns, some reorg, more tests

- push some functions down to handler base class
- remove use of 'path' for resolving datasets
- migrate mocks to separate class for clarity in tests
- add more base test functions
- close cursor in MapBuilder (discovered during testing)