Add a new remote_client_user app with an authentication backend
- The backend authenticates users if the HTTP Authorization header starts with 'Remote ' and contains a base64-encoded, semicolon-separated 4-tuple of client id, client secret, username, email address.
Move the remote client user initialization into middleware instead of an auth backend

- We need to modify the session in order for the authentication backends to get run at all. We have to use middleware to do this.
Fix the middleware
- get_authed_user is not a method on the middleware class
- Only modify the session in the remote client if the user is logged in
Use my fork of djangorestframework-bulk that allows for creating and updating in a PUT request
Merge branch 'remote-login'