Multiply revision node presentation in HgLog  for only one revision fixed.

 *click on status bar widget has created new HgRepository instance, so update and refresh were called then incorrect presentation appeared
Parents revision hash template changed to long.
Show unnamed branch heads without bookmarks and not current revision implemented.

*action for  showing unnamed heads added;
*branches storage structure changed to Map: key - heavy branch name, values - set of appropriate branch heads;
 *tests updated;
 *need to store current repository state,too.
fixed problem mentioned in CR-IC-3742
[log] Supply correct commit object to getCommitData in DetailsPanel

Introduce AbstractVcsLogTableModel#getCommit which returns a Node for
the graph table, and Hash - for the non-graph one.
[log] Flush & Close persistent enumerator on dispose()
[git] Wrap the VcsException not to loose the cause

Before the stacktrace was taken from the processTerminated and was
rather useless:
VcsException: fatal: bad object b97d4813424a4e75ee1a17c0f2de772359bde26e
	at git4idea.commands.GitSimpleHandler$1.processTerminated
	at sun.reflect.GeneratedMethodAccessor39.invoke
	<...>
	at com.intellij.util.EventDispatcher.dispatch
	at git4idea.commands.GitTextHandler$1.processTerminated
	<...>
	com.intellij.execution.process.ProcessWaitFor$1.run

The fix is to show the stack trace of the code which actually called
the command which failed with exception.
[log] Fix identifying root of Node

It was mistakenly taken from the selected Node
instead of the Node being iterated, because of a misprint
[log] Take END_COMMIT_NODE as well as COMMIT_NODE
cache cls navigation elements that are not so cheap to calculate each time
assertion added to check that 'registerOutputDirectory' isn't called for inappropriate targets (CR-IC-3742)