Update Tools/FindTools APIs returned URLs

The upgrader, client and provisioner facades
have methods to find tools. Part of tools
is a URL, used to download the tools for
provisioning or upgrading an agent. We update
each of the facades to rewrite the tools URLs
to point at the API server.

Currently the API server will go off and
fetch the tools from provider storage. A
followup will change things so that the
API server hosts the tools itself, and serves
them out of GridFS.
If there's an error, and we're bailing early, should we go back and make all result.List[] entries nil?