Add basic infrastructure for reading and writting TBD files (version 1 - 3).
The TextAPI library is not used by anything yet (besides the unit tests). Tool
support will be added in a separate commit.
The TBD format is currently documented in the implementation file (TextStub.cpp).
This seemed to break compilation of LLVM for i386.
When targeting i386, both GCC and Clang define i386 (without underscores), see e.g. https://github.com/llvm-project/clang/blob/master/lib/Basic/Targets/X86.cpp#L897.
The fact that i386 is defined and expands to 1 breaks this ARCHINFO case, as 1 isn't a valid name in enum class Architecture.