<!--- Verify first that your feature was not already discussed on GitHub -->
<!--- Complete *all* sections as described, this form is processed automatically -->

##### SUMMARY
<!--- Describe the new feature/improvement briefly below -->
The `ssh_opts` parameter relies on setting environment variables for git, such as GIT_SSH. Git did not recognize this environment variable until version 2.3.0 (see https://git-scm.com/docs/git/2.3.0), and many contemporary OSes (RHEL 7, CentOS7) include older versions of Git (1.8.3.1).

It would be useful to provide a warning in this case, similar to the warning for the `depth` parameter. E.g. "Your git version is too old to support the ssh_opts argument."

##### ISSUE TYPE
- Feature Idea

##### COMPONENT NAME
<!--- Write the short name of the module, plugin, task or feature below, use your best guess if unsure -->
git.py
source control, git module

##### ADDITIONAL INFORMATION
<!--- Describe how the feature would be used, why it is needed and what it would solve -->
It would save users time when trying to troubleshoot failed git connections via SSH.

<!--- Paste example playbooks or commands between quotes below -->
```yaml
- name: clone a git repo
  git:
    repo: git@github.com:cherdt/hello_ansible.git
    dest: /opt/hello_ansible
    version: master
    ssh_opts: "{{-o IdentityFile=github_id_rsa}}"
```

<!--- HINT: You can also paste gist.github.com links for larger files -->

if git_version_used is None:
            module.fail_json(msg='Cannot find git executable at %s' % git_path)
        if git_version_used < LooseVersion('1.7.5'):
            
            needs_separate_git_dir_fallback = True
        else:
            cmd.append('--separate-git-dir=%s' % separate_git_dir)
    cmd.extend([repo, dest])
    module.run_command(cmd, check_rc=True, cwd=dest_dirname)
    if needs_separate_git_dir_fallback:
        relocate_repo(module, result, separate_git_dir, os.path.join(dest, ".git"), dest)
    if bare and remote != 'origin':
        module.run_command([git_path, 'remote', 'add', remote, repo], check_rc=True, cwd=dest)
    if refspec:
        cmd = [git_path, 'fetch']
        if depth:
            cmd.extend(['--depth', str(depth)])
        cmd.extend([remote, refspec])
        module.run_command(cmd, check_rc=True, cwd=dest)
    if verify_commit:
        verify_commit_sign(git_path, module, dest, version, gpg_whitelist)
def has_local_mods(module, git_path, dest, bare):
    if bare:
        return False
    cmd = "%s status --porcelain" % (git_path)
    rc, stdout, stderr = module.run_command(cmd, cwd=dest)
    lines = stdout.splitlines()
    lines = list(filter(lambda c: not re.search('^\\?\\?.*$', c), lines))
    return len(lines) > 0
def reset(git_path, module, dest):