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

Fix Promise.all test to handle delayed acceptance in a failed group the same way as Q