Promise performance and behavior tweaks

This pull request introduces two changes to Promises:

* Refactored `_wrap` and `_notify` so that `Y.soon` is only used when needed
* Changed the value of `this` inside callbacks to match the Promises A+ spec

I also included a test for the change to the value of `this` that tries to go into strict mode and checks the value accordingly. But I haven't seen anything like it in YUI so far. Is it a good idea to force strict mode for testing?

@lsmith , would you like to discuss here or in yui-contrib possible changes to the use of `promise.constructor`, introducing `resolver.resolve()` and possibly breaking in favor of `new Promise((resolver) => {})`?