Fix for stack overflow in CompositeHttpClient.shutdown().

The ```CompositeHttpClient```'s constructor adds itself to the ```httpClients``` map as the default client. If you call ```shutdown()``` on a ```CompositeHttpClient```, it ends up recursively calling ```shutdown()``` on itself, and you end up with a StackOverflowError. This change first calls ```super.shutdown()``` to shut down this client, then shuts down any other clients from the ```httpClients``` map.