Recompute `entries_.length` on each iteration of MapIterator and Map.prototype.forEach

Most recent ES6 spec says that on every `next` call of MapIterator the number of elements in entries should be recomputed. See [23.1.5.2.1 10](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-%mapiteratorprototype%.next)
I'm less sure about `Map.prototype.forEach` but unlike Array.prototype.forEach the spec doesn't specify that `len` should be cached. See [23.1.3.5](https://people.mozilla.org/~jorendorff/es6-draft.html#sec-map.prototype.foreach)