Adding the ability to use named parameters as the fourth parameter of query

This PR fixes https://github.com/sequelize/sequelize/issues/510.

I have decided to use the fourth parameter of the `query()` method to implement this feature.
If the last parameter is an Array, the "?" notation will be used.
If the last parameter is an Object, the ":" notation will be used.

Keys can be used more than once in the sql statement.
Keys used in the sql statement but not defined as property of the given object will raise an exception.

So with this solution you have to choose one notation or another, we won't face mixed notation with "?" and ":".

Hope you will like it.

Cheers,
Antoine