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

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