Fix string escaping for sqlite

SQLite was defaulting to the MySQL backslash-escaped style, but it uses
postgres-style escaping. This is a SQL-injection vulnerability, and
shouldn't be taken lightly (although SQLite is mostly for testing).
Attempt to unify query escaping between dialects

All dialect implementations re-implemented escaping, resulting in
(roughly) the same code being written four times in the codebase. This
moves all of that into SqlString.
Merge remote-tracking branch 'upstream/master'

Conflicts:
	lib/dialects/postgres/query-generator.js
Small bugfixes, push to get travis to rebuild
Merge branch 'master' of github.com:sequelize/sequelize
bulkCreate would have problems with a disparate field list. Closes #736
Corrected a unit tests for hasMany 'uses one insert into statement'
Merged master
Added query-generator spec to buster.
Added a new spec in sequelize just to make sure https://github.com/sequelize/sequelize/pull/651#issuecomment-19383059 is working.
Merge branch 'master' of github.com:sequelize/sequelize

Conflicts:
	lib/dialects/postgres/query-generator.js
Merge pull request #700 from PiPeep/master

Consolidate escaping into SqlString
Updated changelog.
Merge branch 'master' of github.com:sequelize/sequelize
Merge pull request #755 from durango/spec-func

Added a new spec in sequelize just to make sure https://github.com/sequelize/sequelize/pull/651#issuecomment-19383059 is working.
Merge pull request #754 from durango/generator-spec

Added query-generator spec to buster.
check if the passed reference is a DaoFactory
reverted prev. change
formatting + load the tableName from the passed DaoFactory if passed to references
describe method on daoFactory