Cope with being called from directories other than the webwml root
Added extra directory handling code to allow for this where it makes sense. This should now work for all public APIs, except: * cache_file() * cache_repo() * path_info() * get_topdir() The first two are almost internal anyway, and the last doesn't take any arguments to allow for anything to work *except* when the caller is somewhere within the webwml repo. path_info() is *hard* to change here, and all the callers I can find are already expecting to be in webwml anyway. I've added checks in each of these to at least complain clearly when expectations are not met. These changes might slow things down slightly due to repeated chdir() calls, but meh. Also added some extra tests for this in the vcs-test.pl script.
Showing with 338 additions and 65 deletions