Implement automatically disconnecting from nodes

If a service health check is dropped from the Consul cluster it will not be removed as a service provided by a node in the Directory.

If a service check is removed, this should drop the provided service in the Directory. If there are no longer any services provided by that node, then it should be disconnected from.