Use ypromise to polyfill the global object

This PR changes `bundleLocator` so that it assumes that `Promise` is available in the global object, using `ypromise` as a polyfill.