internal reworkings

There is now a shutdown channel to kill the health check goroutine.
New fetch() method paired with release() inside Client.