Allow external git repos in private mode.

I changed the validation logic to allow repos such as 'ssh://custom-host.com/jquery/metrics.git' when private flag is set. 

 The new validation logic will short circuit if the private flag is set and the url ends in '.git'. I added a few new unit tests to make sure the functionality performs as expected.