Promises/A+ tests

With these changes, running `npm install && npm test` will tell you in which points "promises" diverts from the Promises/A+ spec.

Currently I see 180 of 243 tests fail, so less than 50% :)