[git] Don't update repo info if already disposed

Move Disposable up to the common Repository interface.
[git] Don't throw RepoStateException in tests if already disposed

Introduce special GitTestRepositoryManager that creates special
GitRepository which doesn't throw this exception when diposed.

Rename existing GitTestRepositoryManager to GitMockRepositoryManager.
[git tests] execute 'git add' with '--verbose'

Sometimes it fails to add (later they are found to be untracked).
Maybe this will help in diagnostics.
diff: actually merge highlighter elements
[git] Don't report git process start error during unit test disposal
removed MUI_UNPAGE_CONFIRM from win uninstaller to avoid duplicate info.
Merge remote-tracking branch 'origin/master'
ProjectFileIndex: 'isUnderIgnored' method added