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).