initial python3 support

- Runs and passes tests with Python 3.3 and 3.4
- UI fixes, including a Clear Model button, and maintenance of map metadata on load and save
- Validate map files more carefully