Refactored binary (adding features)

- Now allows the specification of a configuration file with --config
- Make the default JSON config file output look neater with less code (plus added a newline at EOF)
- Removed non-ECMA standard 'const' (mostly to keep jshint happy)
- Tucked configuration vars into an object so the values could be accessed in helper functions with the reference in their closures
- Created helper functions where code was duplicated
- Use path.dirname to eliminate the need to maintain a configPath
- Got rid of configPathExists and configFileExists variables, the caching advantage (of up to one call) wasn't worth the awkwardness of maintaining them once the config file became parameterized.
- Moved the proclamation of what environment is used to after the config file gets loaded, it seemed silly to say "using environment 'production'" followed by "Type --help for usage information" on a no-op.
Bring var formatting in line with conventions
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 remote-tracking branch 'iamjochem/feature/findAndCountSugar'
Closes #723
Update changelog
Better BigInt support for PostgreSQL.
Added execute() for direct migration per file.
Added: Options containing pre/post/success functions.
Merge pull request #726 from durango/bigint

Better BigInt support for PostgreSQL.
Merge pull request #728 from freezy/execmerge

Make explicit migrations possible.
Updated changelog.
Cleaned up configuration.spec.js and made Sequelize throw an error for a dialect that doesn't exist. Closes #729.
Merge pull request #733 from durango/no-speak-engrish

Cleaned up configuration.spec.js and made Sequelize throw an error for a dialect that doesn't exist. Closes #729.
Merge pull request #727 from durango/logic

Added basic where logic to sequelize closes #321
Update changelog.md
Fix mysql query gen test