DRY out role creation helpers
Refactor user creation in all unit tests

As much as possible, all user creation now goes through helper function _make_user() in treemap/tests/__init__.py

Most tests now use either:
* make_commander_user() if they need to save things
* make_user_with_default_role() if they don't need to save things
Refactor role creation helpers to allow adding permissions easily