This patch: 1) Makes `Version`, `Flags`, `VersionNdx` and `Hash` fields to be `Optional<>`. 2) Disallows dumping version definitions that have `vd_version != 1`. `vd_version` identifies the version of the structure itself. (https://refspecs.linuxfoundation.org/LSB_5.0.0/LSB-Core-generic/LSB-Core-generic/symversion.html, https://docs.oracle.com/cd/E19683-01/816-7777/chapter6-80869/index.html) 3) Stops dumping default values for `Version`, `Flags`, `VersionNdx` and `Hash` fields. 4) Refines testing. Differential revision: https://reviews.llvm.org/D94659