NPE (IDEA-115607).
Extract method that sets content to the holder.
Use JB tabs in terminal(PY-10609). Pass disposable to terminal widget.
Tab name length is limited by 50 in jediterm library.
do not check for obsolete
avoid IllegalThreadStateException
better error reporting
[log] cleanup
[log] Hide the Branches Panel by default, introduce log quick settings

Motivation:
The panel with branch labels and ability to navigate to the selected
branch by clicking on it seems to be not designed well enough,
especially when there are many local branches, and in the multi-repo
case.

Introduce "Quick Settings" button at the log toolbar.
Add "Show Branches Panel" action there.
add "pure" attribute to @Contract (IDEA-107864)
there's no need anymore to artificially move live template items to the second place in the autopopup
add a registry key to allow to preselect live templates in the autopopup
api for (re)creating PHM that rewrites it if it is broken (IDEA-115334)
don't use editor highlighter from editor as it is built with other options
http://ea.jetbrains.com/browser/ea_problems/51445
fix "not resumed" assertion
[log] "Checkout Revision" action to the new log, some refactoring

* Instead of making VcsLog a project service and acquiring an instance
  from the ServiceManager, provide it from the DataProvider via the
  defined DataKey.
* Make the MainFrame the main Log component and the DataProvider.
* Implement GitCheckoutRevisionAction (just delegate to the GitBrancher)
* Introduce VcsLog#getSelectedDetails instead of getSelectedCommits +
  getDetailsIfAvailable, because it can be better for performance
  reasons: getting the Node by Hash in the GraphTableModel can be
  expensive.
[log] Add "New Branch", "New Tag" actions to the log + refactor

* Extract GitLogSingleCommitAction - the common class
  for all Git actions on the log, which operate on a single commit.
* Implement "New Branch" and "New Tag" actions. Use GitBrancher for
  the first, reuse the existing CreateNewTag for the latter.
* Regroup actions in plugin.xml so that they form a single group which
  is then added to the Vcs group.
  It lets add a separator, and also makes the code more clear.
[log] Add "Create Patch" action

Reuse CreatePatchFromChangesAction with update() method overridden in
the same matter, as it is done for GitLogUi: to respect the CHANGES
data key.
[log] "Revert" and other actions above the changes browser

Just use RepositoryChangesBrowser instead of the simple ChangesBrowser.