Added a 'list_migrations' method which lists any migration files that
have not yet been applied. Refactored some common code into private
methods.