Allow migration to specific revision in razor-admin

One feature that will be helpful for development is the ability to migrate
forward and backward. This adds a '-r'/'--revision' flag for the
`migrate-database` command in `razor-admin`.

For https://tickets.puppetlabs.com/browse/RAZOR-367
Refactoring database migration to avoid forward references

The last migration included the application rather than just making direct
calls to the database. That could be problematic when entities change, since
former migration scripts may no longer work. To resolve the forward
reference, this change refactors the old migration to direct database calls.

For https://tickets.puppetlabs.com/browse/RAZOR-367
Create top-level 'events' collection

In order to track when certain events fire in Razor, we need to add a new
collection to house these events. The 'events' table will do this, taking
over the duty of the former 'node_log_entries' table.

Fixes https://tickets.puppetlabs.com/browse/RAZOR-367