Update Array polyfills

- handle (source, this) non-objects consistently
- handle (map, callback) non-functions consistently
- handle (while) loops consistently
- handle (allow) array-like objects and primitives consistently
Update Array polyfill tests

- allow array-like objects and primitives
- linting