More robust migrations.

Modified the way migrations work.

* The `migrate:refresh` / `migrate:reset` commands have been removed.

* The `migrate:rollback` command now accepts --bench, --package and --path.

* Migration does not utilize batch anymore. (batch will always be 1)

* Rollback of Migrations rolls back ALL migrations that have been ran within the current context. (package/bench/application)

Basically, the `migrate` command will work like always except that batch won't be utilized. The `migrate:rollback` command however, will now rollback all ran migrations that exists within the given context. (package/bench/application)

This makes for much more uniform usage across packages, the workbench and the application as migrations was pretty much out of the question when it comes to packages/the workbench due to its inability to be rolled back.

This is just from what I've gathered however and if there is a better way than this, I'd be happy to hear about it.