allow for git HTTP Basic Auth when using https://

- Overview

This commit adds support for HTTP Basic Auth user and passwords when cloning
a git repository. Restrictions are placed to ensure Basic Auth is only used
when accessing remote repositories over HTTPS.

Support for updating remotes is included for user/password/uri changes.

Submodule support is not maintained, as those are outside the scope of my
initial need :)

This has a terrific tendency to leak credentials in the clear due to logging
in the cmd.run set of tools.

- Motivation

Specifically, GitHub's HTTPS access layer has some niceties not available when
using the SSH protocol. See https://help.github.com/articles/which-remote-url-should-i-use/#cloning-with-https-recommended

It is nice to enforce read-only access to repositories from remote hosts.

Also, it is a lot cleaner to drop Passwords/Security Tokens in configurations
rather than PEM form private keys.
lint fixups
fix test_valid_docs failures

04:47:36 ======================================================================
04:47:36 ERROR [0.371s]: test_valid_docs (integration.modules.sysmod.SysModuleTest)
04:47:36 ----------------------------------------------------------------------
04:47:36 Traceback (most recent call last):
04:47:36   File "/testing/tests/integration/modules/sysmod.py", line 85, in test_valid_docs
04:47:36     '\n'.join(['  - {0}'.format(f) for f in sorted(noexample)]),
04:47:36 AssertionError: There are some functions which do not have a docstring or do not have an example:
04:47:36 No docstring:
04:47:36
04:47:36 No example:
04:47:36   - git.urlparse
04:47:36   - git.urlunparse
04:47:36
04:47:36
04:47:36 ----------------------------------------------------------------------
04:47:36 Ran 208 tests in 511.923s
04:47:36
04:47:36 FAILED (errors=1, skipped=34)
Merge pull request #18560 from ewdurbin/git_https_basic_auth

allow for git HTTP Basic Auth when using https://