Update elasticsearch output to respect the 'index'

Now the elasticsearch output plugin will respect the
'index' plugin setting and override the default index
template to update the indexes it matches on based on
the 'index' setting.

Any placeholders ("%{...}") will be translated to '*' so the
template matching pattern is generic and in line with elasticsearch
wildcarding.
Add Apache 2.0 License
Move plugin loading to end of class definition

This allows plugins to manipulate methods that otherwise would not
be defined at the plugin's included time
fix dependency to use the latest version available

Fixes #8
Inline code formatting updates
fix hyperlink format
Suggest ISO 8601 format for weekly logstash indexes

Originally from:
https://github.com/elasticsearch/logstash/pull/1881
Merge pull request #4 from talevy/fix/1901

Update elasticsearch output to respect the 'index'
moved auth and ssl setup to own methods
typo in gemspec and wrong condition in ssl handling
bumped ES dependency to 1.4.0
tightened gem dependencies
open ended jar-dependencies dependency
change ftw to a dev dependency
Update Elasticsearch Output Plugin to retry bulk

Some actions may fail within the ES client bulk call.
Now, some messages (specifically errors 429 and 503s) will be
retried up to 3 times. If there are still actions that are
unsuccessfully indexed, Stud Buffer will continue its current
behavior (to retry indefinitely).

Stud Buffer will replay all events it first attempted to flush
to Elasticsearch. This means duplicate events may find themselves
in Elasticsearch.