Add JSON encoder filter.
Add s3 input
Fix cloudfront regexps in s3 input
Convert to Stud:Buffer - Rufus was overkill.
Require stud/buffer, flush() must be public.
implemented script to auto generate shipper configuration for PHP-FPM/MySQL/Redis
Small fix for logstash/event.rb's sprintf method.

I found this with the riemann output - if you set it up with:
riemann_event => [ 'metric', 0 ]

Then the value gets sprintf'd, which utterly fails in this unquoted case, as 0
is a Fixnum, which doesn't have an index method.

This, we explicitly call .to_s in the sprintf method, to ensure that the
format is a string before call .index on it
Add "emergency" to `LOGLEVEL` grok pattern

Apache, nginx, syslog, and many systems use emergency level,
and it was missing in logstash.

Also add tests to cover all scenarios of `LOGLEVEL` expansion.
Update tcp.rb
LOGSTASH-1066 - fix debug puts statement and whitespace
Merge pull request #575 from jlscott3/LOGSTASH-1066

LOGSTASH-1066 - fix debug puts statement and whitespace
Revert "Revert "- use more let() statements instead of local scoping things""

This reverts commit 87c46c3345e0281fb89d8f48be1b5b3126be6f5d.
Make LogStash::Pipeline more multiple-instance friendly. I think there
was a bug that doing eval("def filter ...") would override the method
of all existing pipelines, which is bad.

Now filter and output implementations (from a pipeline) are compiled to
@filter_func and @output_func.
Fix a pretty bad bug (found by the tests, yay!) that allowed sharing of
default values (like hashes) across plugin instances. This bug only
really impacted tests, but was important to fix for the future where
logstash might support multiple pipelines (or reloads).
- can't yield in a lambda (the way we're doing things), give the block
instead.
- update to reflect new defaults (no tags by default and grok has
'singles' enabled by default)
Merge pull request #574 from hantuo/master

[fix] tcp out retry
Remove prints from tests
Add guard
- add require