change .code to .Code on $Functions and ExecutionContexts
add getGlobal to @@utilities
fix getGlobal
work on @function, add $$EvaluateIn*

* clean up @function and add comments pointing to the spec locations
* add $$EvaluateInScope and $$EvaluateInGlobal
* move most of the logic for Function and Function.prototype.toString to ES6
* remove some unused functions from natives
* update ObjectEnvironment so it's usable by $$EvaluateInScope