Adding cache-related headers

Added Cache-Control and Last-Modified headers for existing cacheable endpoints.
This is being done in a manual, ad-hoc way but we should explore a more systematic
way of setting theses.
fix base path for Swagger config
add games data to matchup summary

MatchupGame was an embedded model in Matchup but Teams need to reference
it for indicating the winning Team so we moved it to a referenced model.

Also set up a calendar-groups habtm relationship.
CRUD for events, matchups, and games

Generic objects for building and updating objects. Each model
implements their own builder and updater using the generic objects.

Added translators that take the provided input and sanitize data.
This works for both direct attributes as well as nested.
moved authorizers to translators module
moved nested attributes translator to translators module
initial specs

Added specs for most of the models for validating the JSON output. There are
still a few that need to be thoroughly verified.

There are no specs for the API itself. This should be done after both models
and classes have passing specs.
return true if no winner
include starts_at and ends_at game json
use eval instead of constant to get mappers
use classify since non-Rails project
remove criteria arg
remove debug
add best_of to Matchup JSON
rack timeout after 2 seconds
specs for date range and groups mappers
added JSONP support with rack-contrib
specs for event and matchup builders
added translator spec
specs for query options