[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.
We didn't do that elsewhere in here, and I think `YARD` will actually handle that.