Bug 847698 - Move most slot allocation closer to object creation; r=bhackett

--HG--
extra : rebase_source : 307f719ea2827f3216d021779638d5708f14ca4e
Backed out changesets a8088accbcbe and 6e7e6773c836 (bug 845807).