Create a custom SlickAction to be used in all controllers

- It wraps in one implicit the request, the session and the models.Person user
- A single DB session is now used for the entire request handling
- Authorization is mandatory and can use the DB session
- Now uses a separated thread pool to handle all the blocking DB calls
- Results.ServiceUnavailable is returned if the play has too many open DB calls