Bug 957609 - eschew code duplication in macros for CollectWindowReports; r=njn
Bug 957659 - slim down WidgetKeyboardEvent::GetDOMKeyName; r=masayuki

Instead of calling nsAString::Assign several hundred times along with a
switch statement that may or may not get translated into a jump table,
let's implement our own lookup table that we can guarantee will be
constant time.  The KeyNameTable struct is used instead of the more
obvious |const char* const table[]| idiom to avoid runtime relocations.
Bug 957730 - set JS values more directly in bindings code; r=bz
Bug 951948 - Make nsJSID.initialize [noscript]. r=mrbkap

This lets us remove the usage of nsISecurityCheckedComponent. See the next patch.
Bug 951948 - Stop using nsISecurityCheckedComponent for nsJSID. r=mrbkap
Bug 951948 - Remove most nsIXPCScriptable junk on nsXPCComponents. r=mrbkap
Bug 951948 - Remove nsISecurityCheckedComponents stuff from Components. r=mrbkap

This thing is only created in non-content scopes for XBL scopes, and during
automation (with Cu.getComponentsForScope).

At present, we currently have the same-compartment Components wrapper which
should do the right thing in those situations. Next, we'll focus on replacing
that.
Bug 951948 - Make AttachComponentsObject a non-static method on XPCWrappedNativeScope. r=mrbkap
Bug 951948 - Get rid of manual nsIClassInfo and nsIXPCScriptable implementations for nsXPCComponents. r=mrbkap

The macro-driven ClassInfo stuff doesn't do getClassDescription, so we need to
change that test.
Bug 951948 - Separate out the unprivileged parts of nsXPCComponents into a separate interface and class. r=mrbkap
Bug 951948 - Store nsXPCComponentsBase on XPCWrappedNativeScope, so that we can have either. r=mrbkap
Bug 951948 - Add a way for automation to force the creation of a privileged Components object for an unprivileged scope. r=ted,r=mrbkap
Bug 951948 - Use nsXPCComponentsBase for everything but system-principaled scopes. r=mrbkap
Bug 951948 - Remove Components wrappers. r=mrbkap

We fix up the tests here to test the new behavior, and fix some bugs in the test
while we're at it.