Reapply "Use VersionTuple for parsing versions in Triple" (v3)
Changed in v3 (This commit): Call rtrim() on the output of the commands in the unit tests, since the new
version parsing code fails if there are leftover characters like \n.
v2 reverted in 63a6348cad6caccf285c1661bc60d8ba5a40c972
Changed in v2 (50324670342d9391f62671685f4d6b4880a4ea9a): Remove some #if defined() conditional compilation for Apple and AIX in the Host unit tests and make sure the code at least compiles.
Original commit reverted in 40d5eeac6cd89a2360c3ba997cbaa816abca828c
Original commit message (1e8286467036d8ef1a972de723f805a4981b2692):
Use VersionTuple for parsing versions in Triple. This makes it possible to distinguish between "16" and "16.0" after parsing, which previously was not possible.