Support several columns for unique indices.

You can now declare unique indices like so:

var User = sequelize.define('User', {
	username: {
		type: DataTypes.STRING,
		unique: {
			name: 'username_and_email',
			msg: 'Your username and email must be unique!'
		}
	},
	email: {
		type: DataTypes.STRING,
		unique: 'username_and_email'
	},
	aCol: {
		type: DataTypes.STRING,
		unique: true
	}
})

Will create two unique indices one for username/email combo and the
other for aCol. If a unique constraint occurs for aCol, the old behavior
still occurs (emits a dialect returned error), but for username/email
index the returned error would be, "Your username and email must be
unique!"
Merge branch 'master' into newindex

Conflicts:
	lib/dialects/sqlite/query-generator.js
Fixed tests.
Adding HAVING clause support to generic query generator
Added table prepend option to getWhereConditions in query generator
Added unit tests for query generator
Add new methods for and / or queries
Add test to make sure that array notation for where works
Add support for Sequelize.and / Sequelize.or
Bugfix for condition and code style issues
support for or-queries. fixes #1253
Fixed a code style issue in mysql query generator unit tests
Added Postgres and SQLite unit tests
Merge pull request #1287 from sequelize/feature/or-queries

Support for OR queries
Merge branch 'master' of github.com:sequelize/sequelize

Conflicts:
	lib/dialects/abstract/query-generator.js
Updated changelog
Merge pull request #1286 from OtaK/master

Adding HAVING clause support to generic query generator
Test for find and findAll
Fix optClone for Sequelize.and / Sequelize.or
Affected rows
forgot to add the query-types files