Fix and add specs for native #each

Calling #each on a native object allows its values to be enumerated over
as if it was a hash or array. Array like objects (with a length)
property are treated as such, and all other objects are treated as a
hash like object with keys and values.