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 
Add a TODO to create a helper method:
```
getGitCredentials().then(GitCredentials cred)
  // use cred.username and cred.password
}
```