Tests fix - initial work

Hi @manast - I would like to add a `timeout` and a `retries` parameter to `Queue##add(data, opts)`.
I have noticed the build is failing on master - this could be due to the upgrade to Bluebird 2.x
I have taken a look at the source and noticed some places where the use promises could be simplified so I thought I would issue this PR. My idea would be to do something similar for `job.js` and add a few more tests before moving on to implementing the features I mentioned.
What are your thoughts? 
yes returning a promise should be better than emitting an event here.