Bug 893242 - Part 0: Don't crash if we call ContentParent::Pid() after the process is dead. r=bent
Bug 893242 - Part 1: Add Unsound_IsClosed() and Unsound_NumQueuedMessages() to AsyncChannel. r=bent
Bug 893242 - Part 2: Make sContentParents a StaticAutoPtr. r=khuey

This eliminates a static constructor, which is good.  It also avoids a
problem at shutdown: If we leak a ContentParent and we destroy
sContentParents atexit, then sContentParents will assert that it's not
empty and cause test failures.
Bug 893242 - Part 3: Add ContentParent::GetAllEvenIfDead(). r=bent

To do this, we got rid of the explicit removal of a ContentParent from
sContentParents in MarkAsDead().  Instead, we rely on
LinkedListElement's destructor to remove the ContentParent from
sContentParents.

Thus, a ContentParent stays in sContentParents until it's destructed.
ContentParent::GetAll() checks whether the ContentParent is still alive,
so its behavior is unchanged.
Bug 893242 - Part 4: Add a memory reporter counting ContentParents and the number of IPC messages they have outstanding. r=njn
Bug 894147 - Don't leak BrowserElementParent due to an event listener on the window which contains it. r=khuey