Work around a limitation in the Microsoft Visual Studio preprocessor
Replace GIT_CHECKOUT_OPT macro with git_checkout_opt function
Fix GIT_SV_TO_REPO macro