API Token Authentication

Section related to creating a token-based authentication on the server. Here are the steps:

- authentication feature and first scenario
- deny access if no user
- translate the error message
- send header in Behat
- uncomment out ApiTokenListener code
- uncomment out ApiTokenProvider and find the token and the user
- get logged in user from ProgrammerController, not weaverryan
- enforceUserSecurity and enforceProgrammerOwnershipSecurity
- Bad scenario token
- add application/problem+json to ApiEntryPoint
- ApiProblem in ApiEntryPoint
- create ApiProblemResponseFactory and use it in ApiEntryPoint and listener

We do not dive into the Symfony security system very far - instead we provide a lot of the classes, and then tweak some things.
I was looking for this method, and saw that the phpdoc is not accurate. It does not throw any Symfony exceptions IMO.