Expose Promise.all, sugar for promised(Array)

Clean up Promise.all tests with Promise.resolve, propagate reject reason, and assert.fails

Add Promise.all tests for non-promises, [], and multiple rejected promises

Docs for Promise.all

Clarify promise usage with  in docs to cover bug 835536