Bug 1001159 (part 1) - Split CellIterImpl and subclasses in two. r=billm.

--HG--
extra : rebase_source : 20203cad0af54bd9bea81b8ff5c2e7016e14c3c2
Bug 1001159 (part 2) - Rewrite ArenaCellIterImpl. r=billm.

--HG--
extra : rebase_source : 44a92d10cec9d65f285e42ff4a74f349f25ecc99
Bug 1001159 (part 3) - Rewrite ZoneCellIterImpl. r=billm.

--HG--
extra : rebase_source : c9f0557804ac041a31485ebde0091336881175d3