WIP es7 compliant contains

- [x] es7 polyfil for contains
- [ ] get review on the poly

--------------------------

- [ ] make enumerable stuff work correctly (ideally without lots of duplication)
- [ ] transition SHIM_ES5 to SHIM_ESNEXT

Missing ToNumber means that you are causing the conversion to happen every time you use `n`, so if `arguments[1]` is `{ valueOf() { doSideEffect(); } }` the side effect will happen multiple times.