Update Array.prototype.reduce/reduceRight

- throw error on non-objects
- array should be an object
- correctly assign previous value (more work needed)
- support strings in old ie
Update Array.prototype.some

- throw error on non-objects
- array should be an object
- support strings in old ie