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
Enabling third-party drivers

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

Conflicts:
	.gitignore