git.py: adds update() function

Moves the fix_git_source() function to allow both add() and update()
to make use of it. While the update() function calls git remote
set-url, replacing the old url with the new url provided by
overlay.update().
svn.py: Adds update() function

Adds _fix_svn_source() function to correct the source url in
order to run the svn switch --relocate command.
bzr.py: Adds update() function

Also adds _fix_brz_source() function to be used by add() and update().
mercurial.py: Adds update() function

Also adds _fix_mercurial_source() function to be used by add() and update().
cvs.py: Adds update() function
api.py: incorporates db.update() in api.sync()