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.
That would have been very convenient, but that's not what `File::identical?` does.  As the doc explains, it returns true if the files are identical, not if their content is identical.  Note last example, `a` is not identical to `d` even though they are both 0 length files; their are not the _same_ file.