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.

Actually I just checked and test262 enforces the skipping of holes, but the latest version of the spec doesn't say anything about holes yet. I'll ask around.