This implements https://sourceware.org/bugzilla/show_bug.cgi?id=26404#c6
--overwrite-script specifies a script which contains several `SECTIONS`
commands. Each `SECTIONS` specifies exactly one output section description. The
initial syntax is intentionally narrow. Symbol assignments cannot be used.
Not supporting multiple output section descriptions in one `SECTIONS` makes it
clear the sections don't have order guarantee.
The semantics are similar to `INSERT [BEFORE|AFTER]`: LinkerScript::hasSectionsCommand
is not set. --overwrite-script can be more convenient without a main script
because --overwrite-script does not need a random anchor section used by `INSERT`.
This feature is versatile. To list a few usage:
* Use `KEEP(...)` to retain sections under GC
* Define encapsulation symbols (start/end) for an output section
* Use `: ALIGN(...)` to overalign an output section