Data package and CTA endpoint for station details

Introduces the endpoint for rail station details alongside a package of
static data for use with all API endpoints.

Currently, the station detail endpoint is a very simple one returning
the station name and its geopoint, but it will be expanded with
additional information as more is added to the data package.
CTA endpoint for listing rail stations

Adds a simple ID-to-name mapping for retrieving of a list of rail
stations in the data package.
Include API data package during Grunt builds

Updates the 'copy' task to include Python files within the new 'data'
package during deployment and test runs.
Caching support for CTA station endpoints

Explicitly sets `Expires` and `Cache-Control` headers for these
endpoints to advertise that they can be cached either by the caller or
by any intermediate proxies.
Partial track list and lookup support

Adds very basic mapping from track IDs to station IDs on the CTA rail
system, with more still to come for track numbers, rail movements, and
available services.

Also begins to make the use of 'id' and 'key' consistent, preferring the
former, with some additional updates to phrasing.
Consolidated route aliases

Cleans up the static CTA routes with pattern branching where possible.
Rename modules for CTA rail

These are better to be separated away from the future CTA bus stuff
since they are completely different systems and really won't be sharing
any code base.
Basic CTA rail service support

Introduces new endpoints for listing and retrieving details about
individual CTA rail services.
Track descriptions and numbers

Adds descriptions (e.g. direction, flow, and position) to tracks along
with their track number (if available), also adding clarification to
some station names.
Rename CTA rail data constant SERVICES to COLORS

Colors are soon going to be associated with routes, making the name
"services" inappropriate.
Major refactoring for all CTA rail responses

Cleans up all responses to use consistent output formats for lists and
references (i.e. "has-many" and "has-one" relationships), shorter key
names, and key-to-value mappings only for the API side for quick lookup.
Break ctarail module up into a package

This places the colors, stations, and tracks into separate files.
Routes and color/route relationships

Introduces a route concept (i.e. a regularly scheduled path that a train
may follow across the system that is associated with one or more
colors), and wires up some associations.
Swap pointers for track/station relationship

Puts the station-to-tracks relationship on the STATIONS structure,
allowing the individual tracks within a station to be ordered relative
to each other.
Clarify name for Kimball/Lawrence

Distinguishes this station from Belmont/Kimball.
Standardization of all route IDs

Assigns a specific letter of the alphabet to each terminus and to each
method of crossing downtown to give all routes a very standard and
predictable code for identifying them.
Corrected name for 51st

This station is on the South Side Elevated, but I mislabeled it as
existing on the Dan Ryan branch.
Improve full name for the Lawrence station

There are "Lawrence" stations everywhere, so this extends the Lawrence
station on the North Side Main to be qualified with "Clifton-Winthrop"
to distinguish them.
Some route encodings

Introduces some of the route encodings in the routes data module, with
more to come.
Tracks paths configured for remaining routes

With these, all routes currently regularly operated by the CTA on its
rail system have track-by-track paths.