Move elections method implementation to BaseDatasource

The datasource ``elections()`` method had the same implementation,
which pulled elections from the metadata API, for a number of states.
It made sense to move this to the BaseDatasource class because I
can't imagine many situations where this implementation won't be
appropriate for other states.

I also created an election slug generation function,
``openelex.lib.text.election_slug`` and call it from
``BaseDatasource._election_slug()``.  This allows us to change
things in one place if we ever change our slug format.  However,
it might make

Finally, I cleaned up unused imports in the various state
datasource modules.

Closes https://github.com/openelections/core/issues/129