[dom] support iterable<> NodeList

Adds missing iterable<Node> support to NodeList. This results in 4
additional enumerable properties on the interface:

- values()
- entries()
- keys()
- forEach()

The WebIDL spec wants each of these methods to return an ArrayIterator,
but for the time being these are still returning IDL Iterator types.

Ported from https://codereview.chromium.org/1220883007/

BUG=229398
LOG=N
R=jsbell@chromium.org, philipj@opera.com

Review URL: https://codereview.chromium.org/1367523002

Cr-Commit-Position: refs/heads/master@{#356744}
8 files changed