Fingerprint databases within pg:pull and pg:push

This is intended to help prevent inadvertent operator error. Generally, it is
not desirable to push or pull a database into itself, and fingerprinting should
prevent this scenario.

There exists a very small potential for false positives with the technique
used, but it is simple and portable.