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

I took this https://github.com/elasticsearch/logstash/pull/1644  as the original starting point 
I am not sure I understand how the codecs should be implemented in the #run method..
Do I convert the hash data to a `json string` and run it through the codec and parse it again?

```ruby
# copied from logstash 1.4
# Hack to make codecs work
@codec.decode(event.to_json) do |event|
  decorate(event)
  # copy values to @metadata field
  output_queue << event
end
```
cc @jordansissel