client: even cleaner use of Transport

First off, sorry for the noise. This is a cleaner step of #8508

Found more of a root cause of the open file handles.
After more testing I found that the open file descriptors will still
occur for TCP:// connections to the daemon, causing client and/or daemon
to fail.

The issue was instantiating a new http.Transport on _ever_ client
request. So each instance held the prior connection alive, but was only
ever used once.

By moving it out to the initilization of DockerCli, we can now have
reuse of idled connections. Simplifies the garbage overhead of the
client too, though that's not usually a deal.

ping @unclejack @vieux 

Signed-off-by: Vincent Batts <vbatts@redhat.com>
yeah. I tested again with this. Removing thousands of containers, from multiple clients, both unix and tcp, and the connections are reused nicely and don't stick around. Likely a trick of the mind, but they seemed faster too.