Fix Bluebird Patch

The previous patch was working *most* of the time, but not always. Especially when returning a `thenable` - I was running into multiple cases where the CLS namespace was lost somewhere along the chain between "native" Bluebird promises and other, non-promise objects that implemented a `.then` method.

This changes the bluebird patch to wrap the `async` object that bluebird uses. This is based on the `process.domain` support in the bluebird code, and thus should be 100% correct.