Include contest in candidate lookups when creating results

Now that there are multiple "Other Write-Ins" candidates, we
need to differentiate between them when looking them up to create
Result records.

This finishes what was started in
0b2918ff5f35c2d86853bc229c7ecf79b85d7432 and addresses
https://github.com/openelections/core/issues/97
Standardize reversal of transforms

In the old code that I used as the base for some of the new
Maryland transforms, old records were deleted first.  This was
the case for creating Result records, but not for Contest or
Candidate records.  In my first pass at class-based transforms,
I created a ``reverse()`` hook to break out the code that reverses
the transform, but not a clear way to express whether this should
be automatically run before the transform is run.

I added a ``auto_reverse`` attribute to the base transform class.
If True, the reverse will be run automatically before the transform
is run, each time it is invoked.  This can be supressed using the
--no-reverse flag to the ``transform.run`` task.

I added a separate ``transform.reverse`` task to provide a way to
easily reverse a transform.  This is particularly helpful in
testing and development of transforms.
Validate 2000 general election candidate and contests

Factor code into helper functions for validating candidates and
contests for a given election.

Addresses https://github.com/openelections/core/issues/36
Output for transform reversals
Add state argument to run_transform() call
Correctly store precinct names

Precincts values in the ``jurisdiction`` field should include
both the precinct number and the election district number.

Addresses https://github.com/openelections/core/issues/101
Fix how transforms are listed

We need to be able to access both the validator names and functions.
Just expose the OrderedDict used to store them.
Merge branch 'dev' into 36-md_validators