"Bad value context for arguments value" deoptimization in `String.fmt`.

This deoptimization occurs when you try to re-assign arguments passed
into the function.

Also, this change swaps slow `Array.prototype.slice` with `for loop`.

before:
![fmt-before](https://cloud.githubusercontent.com/assets/1131196/3981272/36463740-286c-11e4-8bbc-8d3dd80448e0.png)

after:
![fmt-after](https://cloud.githubusercontent.com/assets/1131196/3981279/410d61bc-286c-11e4-92d1-52bdb2d98f74.png)
Merge pull request #5453 from twokul/fmt-fix

"Bad value context for arguments value" deoptimization in `String.fmt`.