Add private repo support for git

Adds support for working with private git repositories.

A git clone tries to fetch the given repository URL. If the server responds with `Authentification required` error, a git login dialog is shown. 

@dinhviethoa 
The context is used below `_showAuthDialog(_context)`.  Basically when a user commits the action, and there is auth failure, we would want to show a auth dialog, and if auth is successful, we will show the clone dialog again.