This adds support for header deprecation using LLVM_ATTRIBUTE_C_DEPRECATED (note that we can't use LLVM_ATTRIBUTE_DEPRECATED, which is C++ specific). This will not help people using the FFI interface, but may help people using the C headers.
While migrating the test code away from deprecated APIs I had to add a LLVMGetGEPSourceElementType() function, as the necessary functionality didn't seem to be present yet.
could move these comments into the deprecation message