Refactor EventView.single
Remove interstitial item creation page
Add optional error detail to APIException

This may be returned by the API and should be used to disambiguate
errors, e.g. the difference between an Event being full and the user
not having permission to RSVP to it.
Improve formatting of views.py and use decorators for common checks

Defines a decorator for checking whether the request includes an access
token. Uses django's built-in decorator for checking the HTTP method
of requests.