Make dialect a required parameter

The interface of the migrator made it possible to start migrations
without setting a dialect. However, a dialect is required to
property function.

Therefore, the dialect is now part of the construction via
NewMigrator.

If the dialect is set to nil, we use MySQL by default.