Fix in 'request.user.is_authenticated'

This is a weird bug, but not all requests have a user object attached to them. I was getting crashes when running the otm1 migrator.
Make get_last_visited_instance safe
Fix inconsistency in User save validation

Certain validation checks were only being executed when user.save() was called, leaving save_with_user() unvalidated. Pushing these validation checks into save_with_user()
Fix outdated code in migrate_otm1

Some things in the app have changed since the last time this was executed.
Make less common fields optional

Move defaults into code, out of declarative portion
Merge pull request #1009 from steventlamb/topic/misc_fixups

Topic/misc fixups