Dialog blocking

1) This adds a blocking status dialog to `Git Pull` and `Git add`.
2) The dialog is shown at least for 2 seconds to avoid flashy appearance.
3) Dialog needs to be made pretty.

Fixes #2360, #1567 

@dinhviethoa PTAL thanks
Can be abstracted to `SparkActionWithStatusDialog` class, if we need this at more places.