remote: handle unicode in output from fetch/push/pull

Closes #203

Reported-by: Ivar Smolin (ookull) <okul@linux.ee>
Signed-off-by: David Aguilar <davvid@gmail.com>
doc: update v1.8.6 release notes

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: mark 'Updating' for translation

Signed-off-by: David Aguilar <davvid@gmail.com>
dag: make the Edge object a similar kind of duck

Point edge.commit to the source (parent) commit so that we can treat its
right-click context menu events as if we had clicked on the parent.

Signed-off-by: David Aguilar <davvid@gmail.com>
qtutils: add selected_items()

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: mark "Updating" for translation

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: make "Esc" and Ctrl+w close the dialog

Signed-off-by: David Aguilar <davvid@gmail.com>
remote: fix behavior when an action is cancelled

Calling setEnabled(False) is on the entire dialog breaks further
interaction, e.g. keyboard events are ignored and the dialog will only
respond to mouse events, even though setEnabled(True) has been called.

Fix it by only disabling the specific widgets we want disabled, namely,
the "Close" and "Fetch/Push/Pull" buttons.

Signed-off-by: David Aguilar <davvid@gmail.com>
push: allow pushing to multiple remotes

Teach the remote dialog to allow pushing to multiple remotes.  Selecting
multiple remotes runs `git push $remote <branch>` for each remote.

Closes #148

Suggested-by: Justin Lecher <jlec@j-schmitz.net>
Signed-off-by: David Aguilar <davvid@gmail.com>