Use `bluebird` instead of `promise` to be 100% Promises/A+ compliant

As `promise` isn't 100% Promises/A+ compliant, you get into situation with really annoying bugs like `method does not exist`, etc. I see no reason why we should fix another promises library when we can simply make a switch to production-ready solution. The only reason i decided to go with `bluebird` and not `q` is because i use and both projects are great anyway.