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. r=njn
Bug 893012 - Part 1: Don't leak BrowserElementParent due to an event listener on the window which contains it.
Bug 893012 - Change nsFrameLoader::mChildHost from nsCOMPtr<nsIObserver> to nsRefPtr<ContentParent>.

This doesn't change any behavior; the only effect of this change is to make it easier to figure out, from GDB, which ContentParent a nsFrameLoader points to.