Merge pull request #217 from cscott/clz32

Rename Number.prototype.clz() to Math.clz32().
Merge pull request #219 from cscott/array-from-tests

Add Array.from() test cases mentioned in last ES6 meeting.
Adding another shim
Make Map/Set subclassable; support `iterable` argument to constructor.

Use the same technique added for `Promise` to kludge in support for
ES6-style construction and subclassing, factoring out some helper
methods in the process.  Add support for the `iterable` argument to
Map and Set.