Using tests from test262

Hi!

Here are some changes based on the latest spec changes:

* Array operations no longer use `ToUint32`. Instead, they use [`ToLength`](http://people.mozilla.org/~jorendorff/es6-draft.html#sec-tolength) which makes much more sense.
* Uncallable predicates must throw even when the array is empty.
* Holes are skipped.

Is this `Number.MAX_VALUE`? If so, could we do `var maxValue = Number.MAX_VALUE || (Math.pow(2, 32) - 1);` outside the function, so we can leverage the environment when it supports it?