This change-set initializes optional memrbers of ELFYAML types to their default values (as defined in ELFYAML.cpp mapping traits).
For example, since Section has a user-defined constructor, one cannot neither default-initialize (e.g. with Section MySection;) nor zero-initilize it (e.g. with Section MySection{};) completely. The optional members will be uninitialized. The same is true for MipsABIFlags.
Moreover, YamlIO documentation says that the native types must have default constructors that must initialize the optional members: https://llvm.org/docs/YamlIO.html#default-values
This change-set is almost no-op, since I have not found uses that output ELFYAML structures as YAML. The new unit test seems to be the first such use. The unit test will fail in an undefined way, if the optional members are not properly initialized.
Let strong typedef Hex16/MIPS_AFL_REG initialize the base value