Make Map/Set w/ string keys O(1) for get/has/set/delete instead of O(N).

Also updated the return value of MapIterator.next() to match 2013-09-27
harmony draft.  See:
http://people.mozilla.org/~jorendorff/es6-draft.html#sec-mapiterator.prototype.next

Fixes: #148
Merge pull request #149 from cscott/fast-map

Make Map/Set w/ string keys O(1) for get/has/set/delete instead of O(N).
Math.hypot changes, re section 20.2.2.17
Avoid overflow and underflow.
Coerce to a number.
Removing an unused line.