Centralize test user creation

Almost all user creation in tests now uses helper functions like make_commander_user() (from treemap/tests/__init__.py). The actual user creation happens in private helper function _make_user().

Besides DRYing out our tests, this will make it much easier to introduce InstanceUser without having to change a million tests.

Tests should 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