Make the exported functions return Bluebird-promises and change from using Q to Bluebird internally

As all the Sequelize functions themself work with Bluebird-promises it'd be nice if this library did too.
I thought you might not want to remove callbacks right away, so at the moment the functions will both take a callback and return a Bluebird-promise. Because of this I've added a duplicate set of tests that work with promises instead of callbacks.

I also changed from using Q internally to Bluebird and refactored a few things. 

Note that this means that the exported functions will return a Promise instead of loader.