[master] 843 remove bluebird

@cthrax @aesnyder @gitnik 
We again have only one underlying async promise framework

Main problems were setTimeout ( I had to make ti $timeout). Turns out that if you setTimeout only one spec will pass. This happens because if setTimeout is used only one async task gets pushed to the digest queue. If timeout it used then nothing gets skipped. (advice.. dont mix and match). 

Last annoyance if your testing chunking you need to flush the timeout for each chunk.
If one were to inject `($q) ->` the result would be this wrapper around the regular $q right?