Add apiPost() and fix apiGet() to send the correct headers.
Login functionality.

Add the relevant routes and supporting classes to allow a user to log in to the API using the password grant type.
Add ability to view and comments to events.
Consolidate Slug handling to Model\API\Event

Slug handling was handled in Model\API\Event and Model\Event. This
commit consolidates to just Model\API\Event as I think that the Event
model should not be database aware.

Arguably, Model\API\Event shouldn't be database aware either and there
should be a Service\Event class for this. That's left for another day.
Tiny change where I saw a getter used in one place but not another equivalent one
Merge branch 'akrabat-slug-improvements' into slug-refactor
remove some slug references, store friendly url name against API URL when fetching events, many things are probably still broken
fetch the events by the nice bit of url we stored when we saw them first
when saving to mongo, update if this uri is already stored
store stubs when we see events, then suport them as an alternative way of showing in the URL
Fix phpunit, and the tests that were failing
make the shorthand link routing separate from the real event routing and 301 from one to the other
renaming the variables in the URL routes as we're not really using the id now
if we can't find an event, redirect to the list instead
adding the quicklink onto the event detail page
using the urlFor feature of Slim rather than hardcoding URLs elsewhere in the system
Don't display quick link if we don't have one and ensure that it links to the correct URL
Consistent case in urlFor
Rebase master and update.
Fixing conflicts when rebasing master