argument Object Optimizations

Related to #2148 

Source was [this](https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#3-managing-arguments)

Skipped "methods.js"
This change per [this](https://github.com/petkaantonov/bluebird/wiki/Optimization-killers#32-leaking-arguments) (can't call `.slice`)