Delete remnant test branches
Reset and clean the repo before checking out to avoid unstaged changes blocking
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 #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