[log] Don't display "Loading..." immediately, let a 300ms delay

For instance, "Containing branches" information is calculated
frequently, but fast => blinking "Loading..." doesn't look good.
[log] Fix possible race conditions in "Containing branches"

* For the sake of simplicity allow a single loading-finished-listener;
  Ensure it is accessed only from the EDT.
* Recreate the cache (instead of clearing) on refresh.
  Make the field volatile; make all other operations with the cache
  appear in the EDT.
* Store the cache instance in Task, and put the calculated node
  information into the stored cache instance instead of myCache,
  to make sure that if log refresh happens during containing branches
  calculation, the result of the calculation will be put into the
  obsolete cache instance.
* Clear the queue on log refresh (this not important,
  but those tasks would operate on the obsolete DataPack anyway).
* Notify the listener after clearing the cache, to re-query information
  about the commit user was staying during the log refresh.