less garbage
IDEA-119822 - Support Heroku Debug
Merge branch 'master' of git.labs.intellij.net:idea/community
renderValue — add XValue parameter to simplify, why we need to create

old renderValue(XValueTextRenderer) is not deprecated, wait review.
[log] Remove obsolete CommitCell & its Renderer
[log] Make it possible to add VcsLogHighlighters to the log table.
[log] Expose VcsLogUI & DataPack to the vcs-log-api

* Introduce VcsLogUi interface to the API & to VcsLogDataKeys
  Provide an instance from the MainFrame.
  Provide information about current filters.
* Introduce VcsLogDataPack, let DataPack implement this.
  Provide information about log providers map.
[log] Introduce VcsLogDataProvider to the API as part of VcsLogDataHolder

* Provide getHash and getCommitIndex methods
  rename putHash -> getCommitIndex: this name looks more clear.
[log] make constants final
[log] repaint ui after adding highlighter
[log] Expose the VcsLogFilterUi to the API, let set filter value

+ Since VcsLogFilterUi gets into API, remove getFilters from VcsLogUi,
  substituting it with getFilterUi().
[log] Expose VcsLogRefs into API

* For now just return branches, since it is all what's needed.
* Keep getRefsModel() until it is decided what methods should be exposed
[log] Add ability to reuse branches filter popup
[log] Add ability to listen to possible filter changes
[log] IDEA-118947 Implement special highlighting for cherry-pick

* Add DeepCompareAction as a toggle action to the vcs log toolbar.
* Clicking on the button starts 'git cherry' in background to
  get commits non picked to the current branch.
* Once completed, the log is highlighted so that picked commits
  appear in grey.
* If initially there is no branch filter or several branches selected,
  propose user to select a single branch, apply filters and start
  collecting git cherry.

* If branch filter changes, reset the highlighting.
* If the log refreshes, restart all procedure to make sure that
  highlighting is correct, say, after cherry-picking on of the "black"
  commits.
* But if current branch changes, reset the highlighting and don't
  restart the procedure.

* DeepComparatorHolder maintains a single DeepComparator instance
  per each VcsLogUi (i.e. each vcs log).
[log] Remake VcsLogJoiner without recursion.
[log] Fix tests. (fix wrong line separators)
github tests with wrong notifications fixed
for unsaved documents with committed state and psi backed index use the same logic as for unsaved documents with plain index
style: remove unnecessary method