Consul-Conf: config templates from consul data

Object oriented mechanism to rewrite config files from template filled in by consul data.  The primary functionality here is to go through the consul services and nodes, using their health checks to come up with an idea of what nodes offer what servies  and their health status.  This data can then be plugged into  template to write out a configuration file. The code includes a diffing mechanism to verify that the file has changed, with comment exclusion, and hooks eg to restart services.
The node may end up serving several services, and thus be checked a few times; that's why I cache the results.  Not a huge performance thing ,but also easy to code up.