Make exception block smaller

This exception block was catching all exceptions, including ones that occured on the second line, which are not adequately explained by the message provided in the except block.
Clean up get_instance_user

Make get_instance_user more readable

By using a get() query, this will run a maximum of one query, whereas previously, for the common case where a single InstanceUser exists, two queries will run.
Add a save() convenience method to InstanceUser

For the same reasons that it exists on User
Move InstanceDataCommand out of underscore module
Comment and minor adjustment

prefern stdout.write over print
Convert nonexistent god_role -> commander_role
Handle duplicate email imports from otm1

This commit also contains the following improvements:
Fix how more_permissions reinstates previous roles
Drop out save with system user
Great big separate app commit
Move otm1 migrator to its own app
Replace the in-memory map of {otm1_pk: otm2_pk} with database models
Make the migrator idempotent
Uniquify duplicate usernames by adding an incremented suffix

Disable species test because species imports are currently broken.
Fix lint
Wrap model+relic saving in a transaction

Additionally, added a missing relic creation statement in the catch-all else block at the bottom of the main worker function. This wasn't a big problem because that code path is never executed.
Merge pull request #1018 from steventlamb/topic/user_migration_dups

Topic/user migration dups