The result of Module::GetSectionList depended on whether the symbol
vendor has been loaded (which would augment the section list with the
extra sections that have been found by the vendor).
Although this bit was documented in the function header, this makes a
quirky api, as other Module functions have no requirement to load the
vendor explicitly -- instead they will do it on demand. In practice,
what this meant is that the user would nearly always get the augmented
section list (because by the time he requested it, it's likely something
would have loaded the vendor already), *except* if all that he was doing
was loading a module and immediately dumping out the sections like
lldb-test does.
If we are going to let the symbol vendor do it's thing, then we should probably not manually call ObjectFile::CreateSections. The idea behind SymbolVendor is that _it_ knows how best to do things for one or more object files. Can we move all logic for parsing sections into the SymbolVendor::CreateSections()?