Cirular references detection error in PhantomReporter's stringify function.

The logic which was in place to convert array-like objects to arrays prevented the circular reference detection to work properly for arrays and array-like objects.

`value` can never be found in `cache` (`cache.indexOf(value)` can never be `> -1`), since `value` will always be a newly created array (`tempArray`).

Here is an example of the behavior (before and after the fix): http://jsbin.com/abanur/3/edit

The call to the original function (`stringify`) creates a *"too much recursion"* error or *"Range Error: Stack size exceeded"*.