Add `base_name` column to `dances` table.

It is just the name of the dance without the style, so for
"International Rumba", the base name is simply "Rumba".
Wrap imports in a transaction.

That way, if they fail, there is no half-filled event.
Alter SQL to be compatible with postgres.
Switch to PostgreSQL database.

SQLite bizarrely fails the `prelim_results` query and Postgres works, so
there.
Explicitly order `round.couples`.

SQLite happened to return the results in order, but Postgres does not
unless explicitly asked.
Fix `Adjudicator` factory shorthand generation.

It was not resetting the sequence, so shorthand letters were generated
which did not correspond to those in the original event.
Discard cached `Round#recalled_couples` on save.

This ensures that if the `Round` is modified, such as by changing the
cutoff, the recalled couples are recalculated.
Merge branch 'use-postgres' into develop

* use-postgres:
  Discard cached `Round#recalled_couples` on save.
  Fix `Adjudicator` factory shorthand generation.
  Explicitly order `round.couples`.
  Switch to PostgreSQL database.
  Alter SQL to be compatible with postgres.
  Wrap imports in a transaction.
  Add `base_name` column to `dances` table.
Use `autoload` for `ResultsScrapers`

Now all that is needed is simply to `require 'results_scrapers'` and the
appropriate submodules are loaded as needed.