Delete remnant test branches
Reset and clean the repo before checking out to avoid unstaged changes blocking
Add config option for debugging

And have git commands print when True
Change remote fetching frequency and scope

Only fetch non-origin remotes when adding or editing a pickme. In addition,
fetch only the relevant branch, not the entire remote.

Master will be fetched before testing pickmes.

fetch change fixup
Merge pull request #77 from rschlaikjer/add-debug-option

Add config option for debugging git processes
Merge pull request #76 from rschlaikjer/hard-reset-before-checkout

Branch cleanup and fetch performance

* Hard reset and clean pre-checkout to prevent checkout being blocked by unstaged changes
* Force delete / recreate of test branches, to fix branches that might not have been cleaned up properly
* For performance reasons, only perform a fetch when a new remote or pickme has been added
Release 0.3.1

 BUG FIXES

 * Ensure submodules are refreshed for merge conflict detection
   Ensure the proper remote is fetched for merge conflict detection
   (rschlaikjer, #73, #74, #75)
 * Hard reset and clean pre-checkout to prevent checkout being blocked
   by unstaged changes (rschlaikjer, #76)
 * Force delete / recreate of test branches, to fix branches that
   might not have been cleaned up properly (rschlaikjer, #76)