use `var native_reduceRight` etc. variables instead of `Native = { reduceRight: ... }`

This way we only get the native versions of functions we use.
Will make testing non-native versions as we can't just swap do `_.Native = {}`,
but this wouldn't have worked for `isArray` and `keys` anyways, as these are
looked up on initialization, so I think the solution is to have an init()
method on underscore where we will re-initialize functions and try and use
native versions then
(cherry picked from commit 164e19c121b617b53734d313e44b9f386b994100)