Add HTTP Auth and SSL to the ES output plugin

The typical use case is the placement of a transparent proxy in front of
ES. This PR enables basic Auth and HTTPS to be configured independently.

While the SSL configurations only allow the validation of the server's
certificate and specification of the CA cert, it's easy to add the
necessary options to send the client's certificate.

Also, this patch removes the use of FTW in the output plugin, sticking only to the elasticsearch-ruby client. If performance is an issue, a faster alternative to the faraday transport in es-ruby could be implemented.
Building the URL like this will cause failures if the user or password have a : or @ character in them. I was hoping Ruby's URI library would help, here, but it actually throws an exception instead of doing "the right thing" -

```ruby
>> u.user = "fancy@pants"
URI::InvalidComponentError: bad component(expected userinfo component or user component): fancy@pants
```

I'm 99% sure user and password values should be url-encoded.

```
>> URI.escape("fancy@pants:whoa", "@:")
=> "fancy%40pants%3Awhoa"
```