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
Mark a pg connection as invalid on connection err. Builds on PR #2557 by @jawj
Restructured docs generator
fix hardcoded timezone test

This test was dependent on a test having up to ~50ms of latency, which
is not necessarily guaranteed. This allows it to differ up to the actual
elapsed query time.
Merge pull request #2617 from mbroadst/fix-timestamp-test

fix hardcoded timezone test
refactor update/insert query to support additional features

  - added logic to handle corner cases regarding autoIncrement values
  - added support for OUTPUT variables (mssql)
  - added support for identity wrapping (related to point 1)
Merge pull request #2609 from mbroadst/refactor-update-insert-query

refactor update/insert query to support additional features
Now you can use bare database URIs with sqlite also

Before db-uri like sqlite://database.db didn't work with sqlite. This little change fixes it.
Merge pull request #2619 from theikkila/master

Now you can use bare database URIs with sqlite also
merge