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
feat(model): improve findAndCountAll by having the count part only use the absolutely required includes
Merge branch 'master' of github.com:sequelize/sequelize