Merge PhutilGitURI into PhutilURI
Ref T11137. This addresses three general issues:
- From T11137, I recently added a bad typehint.
- From T11004, we currently have buggy behavior with Git URIs that have relative paths: we convert them into "ssh://" URIs but change the meaning of their paths.
- Generally, Phabricator has a lot of instanceof-flavored code around URI handling, and this has been a frequent source of errors. See some discussion in T11137. See next revision for changes to Phabricator.
Test Plan: Unit tests; see next revision for field testing.
Reviewed By: chad
Maniphest Tasks: T11137
Differential Revision: https://secure.phabricator.com/D16099