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.
I think I might just drop this one, and change NewToolsURLGetter to take a UUID. This interface doesn't help mocking at all, because `state.Environment` is a concrete type and tightly coupled to state.