Use correct context when evaluating array methods.

Allows the following examples to be statically evaluated:

``` javascript
;[1, 2, 3].map(function(n) { return n * 2 })

;['multi'
, 'line'
, 'string'].join('\n')
```

Previously, the context was always assumed to be null which
doesn't play nice with Array's prototype methods.