Bug 975277 - Add some machinery to allow Traits to specify whether they want to use hasPrototype or not. r=bholley,efaust
Bug 975277 - Pass the real receiver when using HasPrototype. r=bholley
Bug 975277 - Rewrite Proxy::set logic. r=efaust

The current logic ends up invoking BaseProxyHandler::set in various cases that
will cause it to invoke handler->getPropertyDescriptor, which is verboten for
mHasPrototype proxies.
Bug 975277 - Clean up the XPCWN XrayHolder a bit. r=gabor
Bug 975277 - Move the wrappedJSObject getter out of getPropertyDescriptor. r=gabor

The current setup is kinda wrong, and doesn't work with HasPrototype Xrays.
This change requires us to manually munge the holder, but that's probably ok
for now.
Bug 975277 - Introduce a mechanism to identify instances of standard classes. r=luke