feat(promises): initial implementation with backwards compat. tests
bad .only
feat(promises): make sure chaining works
feat(promises): have hooks.runHooks() return a promise
feat(promises): implement promise in dao.destroy()
feat(promises): transfer sql across .then() calls
feat(promises): remove test that is outside spec
feat(promises): example of better(?) test
feat(promises): updated mocha for promise support (eliminates the need for done())
* Add unit test for #1646
feat(promises): properly propagate errors
feat(promises): fix test
feat(promises): fix a few more tests - and return this.then() rather than this from done/success/error - i'm a dummy
feat(promises): add back afterEach and .return(self) on sync
feat(promises): fix more tests/implementation and make sure Promise.all propagates all sql events
feat(promises): adding extra sql propagation for Promise.all
feat(promises): when calling then/spread from custom event emitter make sure to proxy sql events on to the new promise
Merge pull request #1663 from sequelize/feat-promise-as-first-class

Promises as first class citizens
* Update table prefix test
* Fix postgres deleteQuery not using schema