Initial API (readonly)

API root is at `<server>/api/v1/`, add `?format=json` to view in browser.

Part of #9
Don't use Event id via API

Rather than fetching a list of events and seeing what matches the current page, use the Event slug directly
Voting API

POST /<api root>/talk/<pk>/vote/

Returns 204 No Content on success

Part of #6
Inline Talks, TimeSlots, and Rooms in Event api objects
Slugs not IDs

We don't actually use the ID anywhere, so why expose it to the api?
API: Put voting uri on talk obj
Remove exception

I don't know how that got there
API: now writable
Update voting endpoint comment
API: Display model relationships in the opposite way

We need to specify from many to one - otherwise setting timeslot for a talk would be impossible
API: Prefetch related data
API: exlcude unbookable timeslots
Autoslug doesn't display slug to admins
Give some hints on how to use the API

Fixes #9