libctf, ld, binutils, include: API review: ctf_error_t/ctf_ret_t/ctf_bool_t
This first round of the libctf API review changes a whole pile of
apparently-identical int return types and function parameters into
typedefs that more clearly denote their purpose: ctf_error_t is a
positive ECTF_* or errno error value, ctf_ret_t is 0 or -1 on error, and
ctf_bool_t is 0/1 (true/false), or -1 for error.
(Doing this teased multiple bugs out of libctf itself where we were
accidentally returning the wrong things in obscure error paths, so just
using ints for all three cases was clearly too hard even for the
libctf authors, let alone for users.)
This is ABI-compatible, but it still requires (trivial) source changes
in callers to avoid -Wincompatible-pointer-types warnings.