Bug 1095660 part 1.  Remove the pointless JS_ExecuteScriptVersion API.  r=waldo,bholley
Bug 1095660 part 2.  Change API-provided scope chains to flag their DynamicWithObjects as being special and adjust some asserts to allow those With objects as the scope chain for toplevel scripts.  r=luke
Bug 1095660 part 3.  Give With objects defineProperty/Element/Generic class hooks.  r=luke
Bug 1095660 part 4.  Add overloads of JS_ExecuteScript and JS::Evaluate that take an explicit scope chain argument.  r=waldo
Bug 1095660 part 5.  Change nsJSUtils::EvaluateString to take an explicit scope chain.  r=bholley