include, libctf: header and soname changes for CTFv4
These changes bump the current file format version to CTF_VERSION_4, and
introduce a new VERSION_5 identical with it to get the version integer and
the name identical again. A great many changes are made to account for
the changes to handle CTFv4 (which is a BTF superset).
libctf will not compile after these changes, which is why it's been diked
out of the build system and forced-off until the series is complete.
Because all the CTF_K constants have changed values, this is necessarily an
ABI break: add a #define to make picking up this break at compile time
obvious.
Note that the ABI has broken by bumping the soname (deriving it now from
libctf/libtool-version) and folding all newer symbols in the symbol version
file into a new LIBCTF_2.0 version, which is now the only exported version.