Make array.last overrideable

I just spent a few hours tracking down and ugly bug.
Root cause was html5 was using defineProperty for array.last and a separate library was trying to assign a different function to array.last

Best practices for each of these is questionable -- but at the very least, lets make array.last override-able?