Arguments optimization.

Fixes #5 

Couldn't reliable do `var args = new Array(l - 1);` because sometimes `l = 0` and that breaks the `Array` constructor. Also change test descriptions to be in line with new style guide.
Of if this can't be done because of the less than zero thing, then just create a new array like `[]` and write to it like you did before this latest commit.