api.py: Adds overlay type checking

Checks have been added to determine whether or not to readd a repo
if the overlay type reported from the remotedb is different from the
overlay type reported by the local db.
overlay.py: adds update() function

To update local database and overlay source urls, this function
has been created to allow the overlay.type functions to update
their source urls in their own methods.

source.py: Adds a stub update() function for overlay types
that don't have their own update() function.
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().
db.py: adds update() function
api.py: incorporates db.update() in api.sync()
svn.py: Adds update() function

Adds _fix_svn_source() function to correct the source url in
order to run the svn switch --relocate command.
Updates for recent ssl-fetch changes

output.py: removes output mappings, and adds level arg for error().
{remotedb, tar}.py: adds connector_output mapping variable.
cli.py: Adds byte array support for selection
api.py: fixes success assignment in delete_repos()
api.py: fixes byte string output for update_news()
{argsparser, cli}.py: adds --readd cli option
overlay.py: Adds overlay type checks for update()
bzr.py: Adds _fix_bzr_source() function
bzr.py: Adds update() function
mercurial.py: Adds _fix_mercurial_source() function
mercurial.py: Adds update() function