Bug 913666, part 1 - Move cycle collector root logging into ScanRoots. r=smaug
Bug 913666, part 2 - Log cycle collector garbage at the same time we log roots. r=smaug

There's no reason to wait until CollectWhite to record what is garbage, and with incremental CC
we'll get more accurate logging by logging right away, rather than waiting until later when an
object may have gone away for some other reason.
Bug 913666, part 3 - Sink cycle collector listener selection into Collect. r=smaug

Move the two places we check global flags to decide if we want to use a listener, even if we
aren't passed in one.  A later patch renames aListener to aForcedListener to make it less
confusing.
Bug 913666, part 4 - Sink free floating code from nsCycleCollector::Collect into BeginCollection. r=smaug

The hg diff for this commit is terrible, but all it is doing is taking the code
in nsCycleCollector::Collect from after PrepareForCollection through BeginCollection
and moving it into BeginCollection.
Bug 913666, part 5 - Rename aListener to aManualListener. r=smaug

The name "aListener" is not very descriptive, and with the previous patch, it is only
used to pass in a manually-specified listener that was passed in to CycleCollectNow,
so rename things.