replace json parsers with JrJackson and Oj

I did benchmarks for both a *typical* event json document of 1.3Kb and a huge 45Kb document for our big documents use cases.

1.3Kb json doc: from ~16k/sec to ~30k/sec
45Kb json doc : from 850/sec to ~3.5k/sec

my bechmark is using a generator input config
```ruby
input {
  generator {
    message => "stdin"
    count => 500000
    codec => json
  }
}
output {
  stdout {
    codec => dots
  }
}
```
and TPS measured using
```sh
cat file.json | (sleep 10; cat -) |  bin/logstash -f bench.conf | pv -Wbar > /dev/null
```

Here are the changes summary:
- new `LogStash::Json` class as abstraction for everything json
- new `LogStash::Timestamp` class to solve a Ruby Time + JrJackson serialization problem and cleanup everything timestamp related
- refactored/cleanedup `LogStash::Inputs::Elasticsearch` input and added a basic spec
agree with this.
but someone will use the json filter because there is json in a log field and since this json comes from outside, a @timestamp field could be any format and if its not iso8601 it will fail if it replaces the root of the event.
in what other condition would a json field contain a @timestamp?