ElasticSearch output plugin to support multiple hosts and enhance stability 

ElasticSearch output plugin to support multiple hosts and enhance stability
--------------------------------------------------------------------------------------------------

1. Make elasticSearch output plugin to support mutiple hosts and round robin balance, which will help a lot to balance the resource and performance of whole elasticsearch cluster.
2. Improve stability by handling exception and retry with left servers while flushing bulk, which will reduce the possibility of data loss largely.
This `retry` is a good idea if the entire bulk action failed to write.  Errors within bulk actions in Elasticsearch are non-blocking.  If one entry (out of say, 500) fails to be indexed, it will be the only event that fails.  Also, the error message for the line that failed will be in the return message in the exact same array position as in the original bulk request, which should make it easier to either try that line again, or log it, or make some dead-letter queue.  We have discussed this internally but have not yet figured out the best way to address this.