Cleanup how we access the user model

Replace most of our references to dajngo.contrib.auth.User with either calls to get_user_model or references to settings.AUTH_USER_MODEL, so we hopefully play nice with people wanting to use custom User models.