Use opportunistic approach for migration testing

Refactored migration tests to use OpportunisticTestCase, removed
unused code, BaseMigrationTestCase class and ``test_migrations.conf`` file.

The main feature of this approach is to create a new database with
random name for each migration test. This will avoid migration tests of
race conditions and reduce tests intersection. After this change,
``openstack_citest`` user credentials will be used only for initial connection
to the database.  TestMigrationUtils class was refactored also, because
BaseMigrationTestCase was removed.

Co-Authored-By: Roman Podoliaka <rpodolyaka@mirantis.com>

NOTE(adam_g): Backport adapted from cherry pick of commit
b930fb3a6b0ab8cbe0c19eb3ab8ba33d60d147be:

    * Test directory located at nova/tests/db/ in stable/juno
    * Adapted existing nova-baremetal tests according to backport,
      required a bit of refactoring the NovaMigrationsChecker to
      be used by both nova + nova-bm tests.

Change-Id: I5c9aaa56e5041b919b1e96a19e0395c5e03b727a
(cherry picked from commit b930fb3a6b0ab8cbe0c19eb3ab8ba33d60d147be)