guicmds: allow ~/foo paths for clone URLs

Expand ~user strings when the supplied string starts with "~".

Signed-off-by: David Aguilar <davvid@gmail.com>
qtutils: align code for readability

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: add an explicit argument for the window title

We were combining the window title and the text that we use to track
which action to take, which is complicated and makes the usage of N_()
un-idiomatic since we end up using it on a variable instead of a string.

Pass the window title separately from the desired action to make things
simpler.

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: encapsulate progress reporting into a custom widget

Add a custom progress dialog to encapsulate dialog creation and thread
management for the progress animation.

Related-to: #312

Signed-off-by: David Aguilar <davvid@gmail.com>
startup: rename variables and functions for readability

Signed-off-by: David Aguilar <davvid@gmail.com>
startup: add a progress bar when cloning

Show a progress bar when cloning repositories so that the user knows
that the GUI is busy doing the clone.

Closes #312

Suggested-by: Raghavendra Karunanidhi <raghu.k@openly.co>
Signed-off-by: David Aguilar <davvid@gmail.com>
remote: use TaskRunner for running fetch/push/pull in the background

Signed-off-by: David Aguilar <davvid@gmail.com>