Enable people to override the underlying VCS from hooks

This will allow people to set their VCS so GD can choose the right
module to load, but still override the underlying implementation, ala:

  VCS=/usr/bin/git

  my_git_wrapper() {
    ...
  }
  GIT=my_git_wrapper

And same for $SVN.

Which was possible in the old implementation but got dropped in multi-VCS
support. This re-adds it.