guicmds: offer remote and potential branches when checking out
Make it easier to checkout remote branches in a detached head by
offering completion for them in the Branch->Checkout dialog.
Offer completion for potential branches that do not exist, but would
exist if they were to be checked out using a short name that matches the
name of the same branch on the remote end. Only unambiguous branch
names are offered in the completion.
This makes it easier to checkout new branches, and easier to checkout
remote branches in a detached state.
Closes #390
Suggested-by: David LeGare <excaliburHisSheath@gmail.com>
Helped-by: Aaron Wolf <wolftune@gmail.com>
Signed-off-by: David Aguilar <davvid@gmail.com>