This diff restores and builds upon @pcc and @ruiu's initial work on
subsections.
The .subsections_via_symbols directive indicates we can split each
section along symbol boundaries, unless those symbols have been marked
with .alt_entry.
We exercise this functionality in our tests by using order files that
rearrange those symbols.
Depends on D79668.
Nit: would emplace_back let us get rid of one pair of curlies?