Implement a GitUri class
We have multiple locations in the code base that try to handle parsing shortened Git URLs, but we should centralise the logic so that this parsing can be tested.
Currently the lack of this unified implementation causes uet uefs mount --git-url git@github.com:EpicGames/UnrealEngine
not to work correctly. The current workaround is to use uet uefs mount --git-url ssh://git@github.com/EpicGames/UnrealEngine
instead.