add dialect support checking to tests

this allows us to test for dialect features in tests, see
test/transaction.test.js for an example of checking for row locking
support before running a test
Merge pull request #2597 from mbroadst/test-dialect-support

add dialect support checking to tests
only enable RESTRICT fk constraint tests for supporting dialects

MSSQL doesn't support a RESTRICT fk constraint, so we need a way
to conditionally disable these tests. This change adds an extra
section to dialect.supports indicating support for RESTRICT
constraints. Also changed some cases where RESTRICT wasn't being
explicitly tested but used to test the ability to simply use
constraints (query-interface.test.js)
Merge pull request #2605 from mbroadst/restrict-support

only enable RESTRICT fk constraint tests for supporting dialects
Fix forIn rather than each for iterating on object
Merge pull request #2604 from overlookmotel/fix-forIn-over-object

Fix forIn rather than each for iterating on object