Add Math.cos
Mutable bindings should not be deletable by default
Switch function environment to be declarative...

...instead of object.
Also, make sure arguments passed through to function are not deletable.
Add _argumentsStash, with better conforming arguments behavior:

    1. Can not delete a function parameter
    2. Deleting the index of an arguments object simply
       removes the link to that function parameter
Functions declared in a function should replace parameters
NaN, Infinity, undefined, etc. are not be enumerable
Object, Function, String, TypeError, etc. are not enumerable
Rework _reference interface to correspond to ECMA more closely
Remove cruft from arguments