Fix some issues found in production (#10)
* Fix: initialize the git properly if BaNaNaS is not a git folder yet
* Fix: cancel the task, instead of letting the GC do it for us
If the GC does it, it gives a big fat warning. Let's avoid that
warning.
* Fix: remove empty folders after a GitHub update
Git doesn't track folders, so if all files are removed from a
folder, an empty folder is left behind. This can confuse other
parts of the code.
* Fix: work around an issue with GitPython being confused if the GC kicks in