Fix some repository URI handling issues in Git and Mercurial
Summary:
See https://github.com/facebook/phabricator/issues/467. @dctrwatson also ran into an issue where we were trying to setPass() a GitURI.
- For Git and Mercurial, properly generate credential URIs where relevant.
- Don't try to setPass() on Git-style URIs.
This isn't perfect but should clean things up a bit.
Test Plan: Added unit tests. Lots of grep.
Reviewers: btrahan
Reviewed By: btrahan
CC: dctrwatson, aran
Differential Revision: https://secure.phabricator.com/D7759