Bug 893172 - Call ShutDownProcess in ContentParent::ActorDestroy.

If we don't do this, a ContentParent's channel stays open after its
process is SIGKIL'ed.  This causes us to continue to send it broadcast
messages.  These messages build up arbitrarily and manifest as leaks
under a variety of endurance-test scenarios.
Try and fail to fix leak of BEP.
Bug 893242 - Part 1: Add Unsound_IsClosed() and Unsound_NumQueuedMessages() to AsyncChannel. r=bent
Bug 893242 - Part 2: 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 3: Add a memory reporter counting ContentParents and the number of IPC messages they have outstanding.