[Git] Check for smart git remote before using depth option

@fabiopelosin this PR is incomplete (aka tests fail and the `URI.regexp` isn't great), but this approach should address the issues people are having where their remotes aren't supporting the depth option.
Should probably document the default value?