Client/Tools/VCS improvements

Hi,

I started to use the vcs tool for git repositories on the Client and noticed, that it does not work as expected. Here are some improvements. Additional to fixing the bugs with the current implementation, the patches also adds new functionality. It adds support tor symbolic links inside the repository and it is possible now to have a "live" checkout, that is always on top of a specified branch and updates if the remote repository has updates. The patches also build the git index file after checkout. Two little helper functions are copied from newer dulwich versions (so we do not need to raise the deps).

Thanks,
Alex