Fix broken test harness

Make hasConfig() return 'found' whenever running under Travis
Fix 'cannot read length of undefined' in ChainFind
Fix failing tests for hasOne reversed find
Rewrote utils.checkConditions #293

Improves support for multi-key objects, still missing the ability to
handle multi-value conditions for multi-key objects.
Added a test to verify that it does work correctly for single-primarykey
objects with multiple possible values (generates a `foreignkey` IN
('val1', 'val2'...) statement)
Add support for multi-key, multi-instance #293
Fix model equality test (#293)
Add Model.uid (#293)
Fix SQLite and MongoDB test failures (#293)
Merge remote-tracking branch 'upstream/master'

Conflicts:
	lib/ChainFind.js
Add Preliminary TypeScript Interfaces
JSLint Fixes
Update TypeScript interfaces for Enforce
Update TypeScript interfaces for SQL-Query
Fix race condition in Instance.saveAssociations
Fix infinite loop in save (#279)
Fix unique validator (#288)

Shouldn't check undefined and null values, since ORM uses these as
defaults and it can lead to failed validations regardless of passed
values.
Disabled hasone validation test (impossible to pass)
Added MongoDB to test/config.example.js
Add Driver.isSql Property

Allows us to check whether or not a driver supports SQL queries, for
instances where we create domain specific functionality (e.g. the
current unique() validator).
Prevent MongoDB from running some more tests