Minor cleanups to model

* Add default ordering to TimeSlot
* Explain where the hell `room_count` comes from!
The prefetches - they do nothing!

`prefetch_related` is not behaving as expected

Removed `distinct()` because it won't do anything and seems to force an extra query
Further reduce number of queries made during Grid rendering

Relations aren't pre-filled in even if the object has been fetched from a reverse relation! Kinda dumb.

This commit works around this silliness.
Event list template wasn't titled properly
Use AutoSlug rather than our own custom save()
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