Bug 1096624 - Use a SegmentedArray in nsCycleCollector::CollectWhite. r=smaug.

This patch does the following.

- Moves the logic for computing the ideal capacity for a SegmentedArray out of
  SnowWhiteKiller into its own class, SegmentedArrayCapacity.

- Replaces the nsTArray in CollectWhite(), which can be very large and is
  complicit in ~1% of OOM crashes, with a SegmentedArray.

--HG--
extra : rebase_source : 732743311a08fcc3dfe43a1b308846b93d30e6ed