added support for custom runners; hooks are now defined in runner sub-classes instead of the Migrations module