DRY Command and test changes

This PR includes two commits.
* [54d6bac] My cloned repo was showing test errors, because access hadn't been granted in mysql for the test user to access a second database. This commit adds a new constant to the `phpunit.xml[.dist]` config file to signal to admins permissions for a second database is needed. The new constant is used in the tests instead of a string.
* [2ea343b] Is an initial attempt at DRY-ing the Command migrate and rollback methods. Duplicated code is moved to the parent class `AbstractCommand`.