cmds: Allow do() to return the command's result

Allow commands to return their result through the do() wrapper.

Signed-off-by: David Aguilar <davvid@gmail.com>
cmds: Use sys.executable instead of hard-coding 'python'

This makes the "clone + spawn" feature work correctly on
systems that do not have python2.x available as 'python'.

Signed-off-by: David Aguilar <davvid@gmail.com>
guicmds: Catch errors from "git clone"

Catch errors when cloning repositories and display them to the user.
This makes the "clone" operation more robust to typos and misconfigured
remotes.

Closes #156

Reported-by: @manituu via github.com
Signed-off-by: David Aguilar <davvid@gmail.com>