VCS completions

So I discovered that the darcs completions were crashing on load due to unescaped quotes inside descriptions and went to fix it.  Realized I should fix it in the script that generates the completions rather than in the generated file directly, so the fix is not lost the next time the script is run.

Ended up fixing a lot of issues with the `make_vcs_completions` script and then committed new and improved completions.

I'm not sure what to do with the SVN completions since they've been moved to a function, so I didn't commit that.  I'm also not qualified to judge the new CVS completions as I don't know much about CVS.  My commit seems to mostly undo what @zanchey's commit added over in #713, now that I look closer at it, so perhaps he could chime in.