[git] Simplify method to get branches: use branch names.

We need only branch names, not GitBranch objects => remove extra
conversion, and return Strings right away.

Also, don't return null, return an empty list.
[git] Move & rename method to get branches to GitBranchUtil for reuse
[log] Fix "Containing branches" for filtered list & for Mercurial

PROBLEM:
We were calculating containing branches ourselves by navigating from
the given commit upwards, until reaching leafs of the graph.
It doesn't work in two scenarios:
* If current model contains filtered commits received from the VCS,
  we have to find the Node by Hash first (which takes time,
  but not much), and we also much have the DataPack for the whole log
  ready (which would make user wait for the whole log skeleton
  loading - and this is unacceptable). IDEA-117212
* Mercurial heavy-weight branches are not labels/references,
  they are properties of commits => this algorithm just doesn't work
  for them.

SOLUTION:
Query the VCS for branches containing the given commit.
(previous fast search-on-graph implementation can be returned later
for those VcsLogProviders which have only light branches (Git),
and only if the graph is ready.

DETAILS:
* Introduce VcsLogProvider#getContainingBranches. Use existing method
  in git4idea; Mercurial implementation will follow.
* ContainingBranchesGetter: remove the previous algorithm; call the
  VcsLogProvider to get the information; adjust parameters accordingly.
* Identify branches as Strings instead of VcsRef: there are
  difficulties with Mercurial branches otherwise, and we need just
  branch names for now.
[log] Separate loading indicator for "Contained in branches"

Details are loaded in a batch and are preloaded on start and in
certain cases, while "contained in branches" information need to be
queried for each commit individually.

To not make user wait to see details while "contained in branches" is
loading, show a separate small loading icon for this process.
[log] Fix "details pane" layout

* JEditorPane doesn't support line wrapping;
* setPreferredSize have bad side effects.
[git] remove unused method
[git] IDEA-117500 Don't copy, just wrap in unmodifiable
RootIndex: only mark as project-excluded roots that are not under module content