WIP: Honor UUID interceptor in ElasticSearch sink
ElasticSearch provides support for deduplication of events using the
_id field when inserting documents using the bulk insert facility.
When using the UUID interceptor with headerName = _id for this
purpose, the logstash serializer will rename this as @fields._id,
which is stored as though it were any other field.
In order to enable deduplication of events in the ElasticSearch sink, we
need to ensure the header containing the document ID is sent as _id,
no matter what its original name is.
The dynamic serializer probably does not have the same limitation, but
it currently counts on the UUID interceptor's headerName property to
be set to _id. This is not the default and it is unlikely to work in
complex Flume networks that replicate events to multiple sinks.
Therefore, I fixed it to support the same logic as the logstash
serializer.