Upgrade TokenAuthentication

Simplify the process needed to override TokenAuthentication so it can be using any model that has a key and a user field, whatever the name of those fields.

E.g.
CustomTokenAuth(TokenAuthentication):
    model = MyToken
    user_field = 'owner'
    key_field = 'api_key'