Ditch Array.prototype methods in favor of fast array helpers

Faster, and makes the code nicer, imho.  This is a precursor to handling Arguments objects in when/function et. al., as reported by @phated via IRC.
Thanks @stefanpenner.  I'm seeing some strange, even conflicting, things when testing this.  On one hand, I definitely see v8 deoptimizing the functions at the fine-grained level.  On the other, it seems to matter less in coarse grained tests ... ie larger, real world use cases (the few that I've tried) actually end up being slightly faster overall :/

Seems too risky to merge this, though.