User may claim lightning talk

I've invented a new type of object for MVC! the Collector! The Collector's job is to:

1. Provide methods to access bits of data (this ones job is to get the upcoming talks)
2. Cache the data so it doesn't hit the database multiple times

I also did a major refactoring, putting each of the routes I've defined into a files grouped by their root level (i.e. `talks_routes` has `'/', '/talks', '/talks/:id/claim`. Grouping like bits of functionality is a useful way make your code simpler to approach. Grouping unlike bits of functionality makes your code more difficult to approach.