Dry run protections around create_or_restore_database

Put dry run protection around the creation and restoring of the
database. Code coverage on teh DefaultDAtabaseMigrator is steadily going
up.
Made DefaultDatabaseMigrator DryRun-safe

Code coverage is roughly 80%. Handles dry run configuration appropriately
and logs informative messages to the end user. Now that it is dry-run safe the
RoundhouseMigrationRunner should call more of these methods to allow for
better logging to be seen by the user.