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
To date, the intention of @timestamp is to be input/output only as ISO8601 w/ millisecond precision (higher precision would be nice, but that's another discussion). I'm willing to have input leniency to accept different precision ISO8601 times, but not allowing different time formats all together.

The date filter allows us to take different date formats. In terms of schema, @timestamp *is* iso8601. Anything else is an error. ;)