Declarative syntax for field name transformations

The raw field names come from mongo, but in some cases these
don't match up with the specs
at https://github.com/openelections/specs.

Implement a declarative syntax, similar to fields of Django
or MongoEngine models to translate the fields names from the
mongo names to the ones in the spec.

Use a similar mechanism to calculate fields that aren't stored
in the data store but can be easily calculated from the data,
for instance, extracting the year from a date.

Addresses #39