Adding bluebird for promises
Uses bluebird for promises

 - Throws an error when rejecting promise
 - Improves promise rejection (Returns Error instances instead of objects)
Merge branch 'bluebird'