AlwaysCancellable option to support cancellable promises everywhere

This change creates a helper flag to avoid the opt-in cancellable() promises and instead makes all promises cancellable.  This is in line with behavior of earlier versions of bluebird.

The real change is in src/promise.js and the rest is the code-gen'd output of that change (looks like there were some stale changes that had not been checked in).