Fixed issue 1608 *partially*(Merge): Add "Retry" button where applicable

Memo:

 Tested:
 * Switch 1217
 * Merge 3039
 * Fetch 2414
 * Reset 1423

 Un-test:
 * Pull 2270
 * Push? 2584
 * Export? 1044
 * BisectStart? 3321

我看到了一個 pattern:
1. Data/parameter data collection dialog
2. prepare git-cli/libgit2 for specific cmd
3. prepare post cmd, including retry
4. Run Progress/cmd

或許可以用 OO, 把一系列的命令串起來
然後設計一個介面讓使用者可以自訂一系列命令並執行
同時解掉 issue #246 ?

Signed-off-by: Yue Lin Ho <b8732003@student.nsysu.edu.tw>