Add Bind func for decoding JSON request body and tests for it
Satisfy tests for /login route
Add CheckPassword func and tests for it
Implement real authentication
Add tests
Satisfy tests
Reject login attempts from deleted users
Open the database in the main func, at last
Hide user's e-mail in response to /users/:id request
Bind: return appropriate error if request body is too large
tests: separate function for logging in
Add ParseToken func
Add functions for working with request context
Add some middleware
Add /me route
Add registration route
Satisfy tests
Add /username-available route
Satisfy tests
Set Cache-Control and Pragma headers to disallow caching of the JWT token