healthcheck: refactor locking scheme
healthcheck: refactor locking scheme

This change gets rid of all locks in hcc. Instead we use the approach
of "sharing by communicating". Whenever there is a change in state,
hcc communicates the change to hc, which then performs the necessary
updates and handling.

Also, now that hc updates are trivial, the lock has been changed to
a simple Mutex, which is more efficient that RWMutex.

Signed-off-by: Sugu Sougoumarane <b9023a093a3fde2f5ed7cdf696263add90aef9db@gmail.com>

enisoc/vitess,davygeek/vitess,enisoc/vitess,davygeek/vitess,tinyspeck/vitess,davygeek/vitess,mahak/vitess,dcadevil/vitess,dcadevil/vitess,enisoc/vitess,dcadevil/vitess,vitessio/vitess,mahak/vitess,davygeek/vitess,mahak/vitess,HubSpot/vitess,mahak/vitess,vitessio/vitess,davygeek/vitess,enisoc/vitess,vitessio/vitess,enisoc/vitess,enisoc/vitess,enisoc/vitess,HubSpot/vitess,vitessio/vitess,mahak/vitess,tinyspeck/vitess,HubSpot/vitess,dcadevil/vitess,HubSpot/vitess,HubSpot/vitess,vitessio/vitess,mahak/vitess,tinyspeck/vitess,dcadevil/vitess,vitessio/vitess,dcadevil/vitess,vitessio/vitess,tinyspeck/vitess,mahak/vitess,davygeek/vitess,tinyspeck/vitess,HubSpot/vitess,vitessio/vitess,dcadevil/vitess,tinyspeck/vitess,HubSpot/vitess,mahak/vitess,tinyspeck/vitess,HubSpot/vitess,davygeek/vitess