Bug 913527, part 1 - Get rid of FinishCollection. r=smaug

This can just be inlined now, with the cleanup parts moved into CleanupAfterCollection.
Bug 913527, part 2 - Remove empty CC graph optimization. r=smaug

This looks like a dubious optimization to skip most of a CC when the graph
is empty, dating from the dawn of the CC, but I doubt it is ever triggered
nowadays.
Bug 913527, part 3 - Check for collection in progress in Collect. r=smaug

Moving this to the top level simplifies dealing with PrepareForCollection a bit.
Bug 913881, part 1 - Remove unused method nsCycleCollector::Runtime. r=smaug
Bug 913881, part 2 - Make a bunch of nsCycleCollector methods private. r=smaug
Bug 913881, part 3 - Fix argument name for GCGraphBuilder::AddNode. r=smaug
Bug 913881, part 4 - Change nsCycleCollector::ClearGraph to GCGraph::Clear. r=smaug

There's no reason I can see to have this in nsCC instead of GCGraph.
Bug 913881, part 5 - Assert for freeing snow white during cycle collector scanning. r=smaug

If you call FreeSnowWhite when scanning is true, then objects that get released won't be added to the purple buffer, and you can get leaks.
Bug 913881, part 6 - Measure weak map representations in the cycle collector graph. r=njn

Contrary to the comment here, I'm pretty sure this needs to be measured. mWeakMaps
is an array of little structs. Of course, in practice I doubt this amounts to anything.