elasticsearch_http: Use source._id automatically

This is an alternative to using document_id option.  Better suited to diverse deployments when some sources provide unique id and others don't.
Additionally, you point out that Event#sprintf() for `%{xxx}` values that do not exist returns an empty string, then we can do one or both of these things:

* Make the Elasticsearch output aware that an empty string as document_id means the same as nil (and will have Elasticsearch autogenerate it)
* Improve the semantics of Event#sprintf() to allow alternates when a given fieldref is not found in the event