Better ordering for baked output fields

Order the baker output to show fields in the order of Contest,
Candidate, Result.  Within each model, show fields as they're
ordered in ``openelex.models``.  Append calculated and dynamic
fields at the end.

This commit adds
[ordered-set](https://github.com/LuminosoInsight/ordered-set)
as a dependency.  This is a simple ordered set implementation that
is needed to accomodate dynamic fields.

Addresses #39, #58