add ability to determine dialect migration support

This provides the ability to determine whether a given dialect
is supported for migrations. This is mostly another switch that
allows incremental implementation of new dialects.
Merge pull request #2660 from mbroadst/migration-support-checks

add ability to determine dialect migration support