Bug 987111 - Temporarily waive Xrays on the aOptions argument passed to mozId.watch and mozId.request. r=jedp

Bug 1011084 is getting hung up on various things, and we're currently blocked on
it because Object Xrays filter out callables. So let's just turn off Xrays here
for that case, so that we can enable them everywhere else.
Bug 987111 - Add an assign() method to MutablePropertyDescriptorOperations. r=terrence

It's unfortunate the we need to operate on the raw JSPropertyDescriptor for
|other|, but the specialization that makes Handle<JSPropertyDescriptor> work is
declared later in the file, which isn't kosher.
Bug 987111 - Introduce a method to determine whether a given PropertyDescriptor is an accessor prop. r=terrence
Bug 987111 - Add test coverage to make sure we don't add new Xrayable functionality without auditing it. r=gabor
Bug 987111 - Proxy::set should create enumerable properties. r=efaust

Properties are supposed to be enumerable by default. It's unfortunate that
the default is reversed in SpiderMonkey.
Bug 987111 - Fill out existing_desc with all properties, not just |own| ones. r=gabor

This gives us strictly more information than we had before, which turns out to
be useful. We can still get the old behavior by testing the identity of
desc.object(), which I've done in one of the two existing uses for existing_desc.
The other (in DOMXrayTraits::defineProperty) is actually more correct with the
full (non-own) lookup.
Bug 987111 - Handle the Object.prototype case in Xray getPrototypeOf. r=gabor
Bug 987111 - Make JSProto_Object COWs take precedence over Xrays. r=gabor
Bug 987111 - Implement resolveOwnProperty and enumerateNames for Object instances. r=gabor
Bug 987111 - Implement defineProperty for Object Xrays. r=gabor
Bug 987111 - Implement delete_ for Object Xrays. r=gabor
Bug 987111 - Flip on Object Xrays. r=gabor
Bug 987111 - Tests. r=gabor