Add tests for Alembic migrations

This is the next step towards CI/CD:

This code enables testing of DB migrations against real databases -
MySQL and Postgres. Unit testing on in-memory sqlite doesn't work with this
patch (there seems to be a problem with Alembic/in-memory-sqlite combination).

In case if MySQL and PostgreSQL with specifc user/password and database
are present, opportunistic tests will be started automatically. See
storyboard/tests/db/sqlalchemy/test_migrations.py for instructions.

OpenStack CI infrastructure provides these, so we get tests against
MySQL and Postgres with this commit.

Note(1): this patch doesn't modify database model. The main goal of this
patch is to enable continuous testing of DB migrations.

Note(2): most of the code is based on Nova. Which is good because
eventually it'll be extracted to Oslo library and we'll be able
to use Oslo instead of custom code.

Change-Id: Ia763124bea9ac8e39c6604f04fd99fa83645d5ba