Ignore already completed futures or resolved promises

- as per draft spec:
  http://people.mozilla.org/~jorendorff/es6-draft.html#sec-promise-objects
Add Promise.all
Remove unnecessary checks for completed Futures