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.

This won't work on IE 8, which has Object.defineProperty but it only works on elements.

See https://github.com/paulmillr/es6-shim/blob/master/es6-shim.js#L54-L61 for a correct implementation.