Refactor Promise impl to match latest spec
Update Array.from per spec; better test messages