Feature/allow the use of metadata

- Allow to store Elasticsearch document information in the `@metadata` field or somewhere else.
- Allow the user to specify which fields to move,  the default is _index, _type, _id
- Change the default query to elasticsearch to  '{"query": { "match_all": {} } }' 
- Try to merge if the target field exist.

I took this https://github.com/elasticsearch/logstash/pull/1644  as the original starting point 
I dont know.. Do production setups have weird encoding other than utf-8 in their ES cluster?

In my first iteration I did not use it, but I have checked the version of the plugin in 1.42 and we were running the json string through the decoders.