Selfupdate-git and -svn, take three

This replaces PR #78 -- the content is identical, but I have replaced the old "selfupdate-git" branch in fink/fink with my rebased and cleaned code, and based this PR on that. Thus now anybody with write access to the fink repository can directly modify it. (I would still prefer to work on this differently, with people forking my version of the branch, then submitting changes back via PRs and/or patch mails, but since this is not popular, let's do it this way for the sake of progress!)

I have not (yet?) made any attempt yet to transfer the discussion from there (it wasn't much to start with).