Refactor some of ExtraData to use CompactVector
Summary:
Remove 32 bytes from ExtraData. No perf wins to speak of (as these types aren't used in prod). Current prod layout:
```
{
"HPHP::Class::ExtraData",
[](const void* base, const void* internal) -> const char* {
auto const diff = reinterpret_cast<const char*>(internal) -
reinterpret_cast<const char*>(base);
(void)diff;
if (0 <= diff && diff < 24) return "m_traitAliases"; // size 24
if (24 <= diff && diff < 32) return "m_usedTraits"; // size 8
if (32 <= diff && diff < 36) return "m_traitsBeginIdx"; // size 4
if (36 <= diff && diff < 40) return "m_traitsEndIdx"; // size 4
if (40 <= diff && diff < 44) return "m_instanceCtor"; // size 4
if (44 <= diff && diff < 48) return "m_instanceDtor"; // size 4
if (48 <= diff && diff < 104) return "m_scopedClones"; // size 56
if (104 <= diff && diff < 112) return "m_clonesWithThisScope"; // size 8
if (112 <= diff && diff < 120) return "m_nativeDataInfo"; // size 8
if (120 <= diff && diff < 128) return "m_enumValues"; // size 8
return nullptr;
}
},
```
alexeyt because I think he was doing similar stuff to PreClass.
Reviewed By: markw65
Differential Revision:
D6297165
fbshipit-source-id:
1c476df38c20fef257dcb20853588988f01fd431