Improve C89 compatibility and clarify use of C99 features

To address some of the concerns in libgit2/libgit2#2125 I propose we make these changes:

1. Get rid of `GIT_INLINE` in public headers and note that it should not be used publicly in the `CONVENTIONS.md` file
2. Specifically, convert `git_oid_equal` into a regular (non-inline) function.
3. State in the `CONTRIBUTING.md` and `CONVENTIONS.md` that we use a subset of C99 internally and keep to C89 in the public API (albeit with warnings).