EA-46782 - IOOBE: SegmentArray.getSegmentStart
EA-42809 - CCE: RngDocumentationProvider.generateDoc
EA-38467 - NPE: XmlTagImpl.getDescriptor
Cleanup, performance
Merge remote-tracking branch 'origin/master'
AppCode:Indexing: cleanup + resolve context panel relies on dumb mde + unnecessary isUnitTestMode removed
+review CR-OC @micha
renames
+ "mockito"
cache IdeaPluginImpl#getPluginId
+ "ehcache"
[git] Log parser: remove second path absence verification

Second path existence is not required for renames/copies
(and the assertion on that was removed some time ago)
Second path absence is implied for other types of changes,
but there is no real point on verification of this.
[git] Rename GitCommit -> GitHeavyCommit as a preparation to deprecation

GitCommit object is cluttered with a lot of fields which sometimes
are populated, sometimes not, and some of which are completely
unrelated to the commit object (like tags, branches or current branch).

It should be removed and changed to something more clear,
but the name is good => renaming the old bad guy.
[git] Introduce new GitCommit & optimize some history

Introduce GitCommit as a preferable way to store detailed information
about a commit (instead of GitHeavyCommit).
Use this new guy to query full history from Git.

Rewrite GitHistoryUtils#history(project, root, params): get the whole
log output at once and then parse it instead of parsing line by line.
This is much more effective that the previous implementation,
it just shouldn't be used to query millions of commits.
[git] Log parser: support both short and long hashes

If short parent hashes were not requested from Git, don't fail,
but use long ones. If they were not requested, well,
then we have no choice but failing.
[git tests] Better assertion

Sometimes this assertion fails on the build server.
Let's take a look at the whole output.
WEB-7837 Use relative paths when selecting a "double" tapping autocomplete
made method public
isProjectOrWorkspaceFile works without retrieving getPath for virtualfile
introduced FileTypeSpecificInputFilter for index to expose its applicability to specific file types and reasonable default implementation to be used
introduced FileTypeSpecificInputFilter for index to expose its applicability to specific file types:
this allows us to have faster calculation of affected indices candidates
Also project / workspaces files are excluded for all indices, as well as calculated project / workspaces status faster
CONTENT_FOR_DOM_STUBS moved to DomStubBuilder