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.
Fixed hashToWhereConditions and arrayValue in QueryGenerator to correctly handle in: and not: in where: conditions (fixes #1079)
Update changelog.md
Update changelog.md
added transaction support
added a test for long running transactions
long running transaction test
Merge branch 'master' of github.com:sequelize/sequelize
Do not pass hooks option on to through model, fixes #1263
Update changelog.md
findAll optClone should not fuck with .col/.literal/.fn/.cast - fixes #1249
Merge branch 'master' of github.com:sequelize/sequelize
Update changelog.md
remove .only
git push origin masterMerge branch 'master' of github.com:sequelize/sequelize
handle connection timeouts from node-pg, fixes #1207
changelog
Update changelog.md