Auth middleware

This PR depends on #1 

Added TokenAuthenticationMiddleware and TokenAuthenticationBackend. Added draft of TokenAuthenticatedUser

Middleware checks the token persistance and calls authenticate() methods
Authentication backend is used to perform user authentication by calling validate_auth_token()
TokenAuthenticatedUser represents a user that was build from token data and we don't know
any information about him except of username