Add missing `git_reference_symbolic_create_with_log`.

It's exported in the headers, but the implementation was missing.
Allow the log message to be NULL.
Fix warnings with submodule changes
Use our strnlen on MacOS for backward compat

Apparently MacOS didn't have strnlen on 10.6 and earlier.  To
avoid having linking problems on older versions, we'll just use
our internal version.
Tree accessor tests with hard path names
Merge pull request #2026 from libgit2/rb/fix-strnlen-on-old-macos

Use our strnlen on MacOS for backward compat
Further tree building tests with hard paths
Merge pull request #2022 from KTXSoftware/development

submodule branch option + little VS2013 fix
Fix spelling mistake

Closes #2029
Merge pull request #2030 from seejohnrun/patch-1

Fix spelling mistake
Merge pull request #2023 from arthurschreiber/patch-1

Add missing `git_reference_symbolic_create_with_log`.
Add orig_commit.
Solaris does not have qsort_r
Merge pull request #2034 from jacquesg/solaris-qsort

Solaris doesn't have qsort_r either
Handle git_buf's from users more liberally
Merge pull request #2036 from ethomson/git_buf_sanitize

Handle git_buf's from users more liberally
Add orig & final commit test.
Merge pull request #2033 from xtao/blame_orig_commit

Add orig_commit.
branch: handle NULL pointers passed to git_branch_iterator_free()

Signed-off-by: Brodie Rao <brodie@sf.io>
config: handle NULL pointers passed to git_config_iterator_free()

Signed-off-by: Brodie Rao <brodie@sf.io>