Better git submodule support

The `:git` scm module in cap2 doesn't clean up after removed submodules aggressively enough, so this patch fixes the behavior to use `git clean -d -x -f -f` instead of `git clean -d -x -f`, and to run the clean in submodules using `git submodule foreach`.

cap2 is (apparently) no longer maintained, so an upstream patch seems unlikely.

(ping @jondavidjohn)