Use output_with_bang instead of puts for WARNINGs

Per review feedback from Maciek Sakrejda.
Use established DATABASE_FROM/DATABASE_TO terms

Per review feedback from Peter Van Hardenberg.
Check that database has no user tables before pull/push

Previously, we attempted to fingerprint the database schema to verify that the
pair of databases involved in a push/pull were not the same. This was rather
prone to false positives.

Per review feedback from Maciek Sakrejda.
Remove confirm_db downcase

We should treat database names in a case-sensitive fashion when confirming a
destructive operation.

Per review feedback from Maciek Sakrejda.