Prefer local branch name to hash as upstream to pass to Rebase Dialog

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Do not switch to original commit of upstream branch at the beginning and end of rebase

This reduces touching working directory files

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Adjust layout of Rebase Dialog

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Add reverse branch/upstream button in Rebase Dialog

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>
Fixed issue #2114: Rebase touches lots of working dir files

Signed-off-by: Sup Yut Sum <ch3cooli@gmail.com>