Add support for setting the SSL CA location

This is a re-worked version of pull request #2583. As discussed there, the only logical way to set the OpenSSL CA cert location is through `git_libgit2_opts`, since this is a global setting that affets the whole library. While it would be nice to have a separate OpenSSL context per connection that pulls its settings from the config variables `sslcainfo` and `sslcapath`, doing this doesn't seem to be possible.
We stick to mostly C89, but do make use of nice features that compilers support. The limiting factor for not using C99 is MSVC, so whatever it supports, we make use of.