Update Promise implementation to match V8 ToT
Async Functions: Wrap await expression in resolve

Promise.cast is now Promise.resolve
Add Promise A+ tests

This adds the Promise A+ tests from domenic / promise-tests using
npm promises-aplus-tests.

The test is run using `make test-promise`