Guts: Minor rakefile changes to work better on other systems

* Gnu rm doesn't like getting an empty list of files, which will usually happen
  when we do rake generate. (We do a protective externalsources:clean in case
  the source tree was left in a dirty state, which usually isn't the case.)
  Doing the deletion in Ruby instead of using xargs should prevent the warnings.
* The git-new-workdir commands weren't working well in directories with spaces
  in them. I think this is the only spot where that would cause problems, but
  maybe we'll find more later.