RepositoryManager structure for Git and Mercurial changed and get Hg config feature implemented

*RepositoryManager for git renamed and moved to dvcs common code;
*RepositoryManager became generic according repository type (GitRepository or HGRepository);
*RepositoryManager for mercurial implemented;
*Move common implementation of RepositoryManager to AbstractRepositoryManager;
*Annotations added;
*HgConfig created as hg config strotage;
*hgrc file changes tracked in HgRepositoryUpdater using new UPDATE_CONFIG_TOPIC;
*Get defaultPath and defaultPushPath method calls changed: now using  get paths from storage (HgUtil appropriate method) instead of calling mercurial showconfig command every time;
HgConfig tests added; static getRepositoryNamedConfig method added to Util class
IDEA-108904 hg: mercurial can't show file log

*do not use --follow with largefiles extension (workaround for hg bug)
WEB-6659 Elements tab: Structure: NPE is thrown on tag actions from XML Refactorings menu
cleanup, overrides
IDEA-109872 (supplant long running on-frame-activation refresh sessions)
EA-47034 (diagnostic expression fixed)