Threading fixes for minor UI glitches

This fixes a couple of visual issues due to threading when the history list gets loaded multiple times concurrently.
PBGitGrapher wasn't thread-safe (was holding internal static state) and PBGitRevList wasn't handling thread cancellation correctly.