Database fixture

The fixture manages a real SQLalchemy database that gets created and
upgraded using the same process as in production. This was not done
previously because running the upgrades before every test takes a
prohibitively long time.  The fixture avoids this by upgrading the
database only once and storing the upgraded database in a golden file.
The golden file is restored after every test.

This patchset modifies the base TestCase to use the new fixture. This
tests the storage:sqlalchemy plugin. Other test cases (specifically, the
PowerDNS backend) will be modified to use the fixture in later
patchsets.

Change-Id: Ib8f6274d50cf7157f7383bba14b71fac1ff32ce7