gpush/gpick: compress output from local branch tracking
it is rather common that many Changes are affected by the same event/
error, so reporting them individually would lead to quite noisy output.
so instead collect them in hashes indexed by the event, and output them
only at the end.
"regular" error reports are now also delayed, so notices are always
printed prior to error messages, so the actionable items are most likely
to remain in view.
Change-Id: I2c130fe3f5053283e9ee4bfb66d67bbb5beb2716
Reviewed-by: Tor Arne Vestbø <tor.arne.vestbo@qt.io>