Es discovery module

This is all of vir's work on the ES discovery module that can be open sourced.

I'll do integration with the ingesters in another PR. This PR will need to be updated in order to work with the new configuration stuff in the http maven modules, but there shouldn't be any major changes.

**NOTE** This still uses comma separators.

**TODO**

- [x] ~~ES client pool to reconnect to ES (provided the ES driver doesn't already provide that)~~ (es already provides it)
- [x] create test to ensure unwanted results do not show up
- [x] ~~investigate whether there is a more performant way to structure schema and queries~~ (not necessary for v0)
- [x] add metrics
- [x] add more unit tests
- [x] add method to DiscoveryWriter to load and register configured discovery modules
- [x] accept multiple addresses for nodes in ES cluster.