Rename opts.id to opts.keys
Various integration fixes

Fixed some integration tests that were causing Travis build failures and local build failures on a Windows box:
* Added sorting to columns before verifying to resolve issues where ordering can differ with different database versions
* Fixed issue where the stack for `ORMError` objects was undefined
* Fixed "done called multiple times" issue
* Fixed test that was failing for the redshift driver
* Fixed test that intermittently fails for sqlite due to race conditions with in-memory driver
* Increased timeout for a few test setups that were intermittently failing
Fix Property.mapsTo for keys
Throw error if model has no keys defined. #509
Merge pull request #513 from DullReferenceException/integration-test-fixes

Various integration fixes
Global leak detected: i

Got mocha error because of the missing 'var' statement
Merge pull request #516 from mike-zenith/patch-2

Global leak detected: i
Enabling third-party drivers

Added a method and some documentation for plugging in a third-party driver for `orm2`.

Conflicts:
	.gitignore
Terminology change from Driver to Adapter

Updated terminology, where third-party database adapters are now called Adapters instead of Drivers.
Merge pull request #512 from DullReferenceException/eternal-driver-support

Enabling third-party drivers
Add Instance.set() #517
Add Instance.markAsDirty(propName)
Version bump
Rebased from upstream