Bug 877261 - Stop using XPCCallContext for most stuff in XPCWrappedNative.cpp. r=Ms2ger

Starting with the above, this is the smallest unit change that will compile.
Bug 877261 - Stop using XPCCallContext for XPCConvert. r=Ms2ger
Bug 877261 - Stop taking a cx in XPCWrappedJS::GetNewOrUsed. r=Ms2ger

Some of these callers seem to be passing a ccx when they don't need to, but
let's just remove the param all together for consistency.
Bug 877261 - Remove XPCCallContext from XPCCComponents. r=Ms2ger
Bug 877261 - Remove a bunch of now-unnecessary ccx declarations from nsXPConnect. r=Ms2ber
Bug 877261 - Remove the last two non-quickstub XPCLazyCallContexts. r=Ms2ger
Bug 877261 - Stop Passing lccx in a few Quickstubs places where we just want a JSContext. r=Ms2ger
Bug 877261 - Remove XPCLazyCallContext from Quickstubs. r=Ms2ger

There are a number of places where quickstubs does a scary-looking call to
lccx->SetWrapper. However, the lccx never gets morphed into a ccx, nor does
it escape in any other way. And unlike ccxes, declaring an lccx on the stack
doesn't have any observable side-effects. So this should actually be safe.
Bug 877261 - Kill XPCLazyCallContext. r=Ms2ger

\o/
Bug 877261 - Remove WrapperInitOptions. r=Ms2ger

Now that we don't have the separate path for initialization from an
XPCLazyCallContext, this stuff can be simplified. We get rid of Init entirely
in the next patch.
Bug 877261 - Fold XPCCallContext::Init into XPCCallContext::XPCCallContext. r=Ms2ger

The large block is a simple move.