missing require

cosmetic

closes #1345
Add `NaN` support back in to collectd codec

* Add spec tests for NaN support
* Catch warning on NaN with nan_handling set to warn
* Make lambdas ivars and initialize so they can reference other ivars
* Fixed reference to point to ivar
* Streamline ivar declarations in one method
* Improve tests to cover more cases
* Make lambdas not be ivars
* Change idiomatic calling of init_lambdas to reflect lack of return value

closes 1363
Fixing relative path issues left over from flatjar era

Use plugin_path and pattern_path

closes 1377
Automatically choose most correct codec for bytestream inputs.

Now, if you try to use `plain` or `json` codecs with either `stdin` or
`tcp` inputs, it will automatically select `line` or `json_lines` codec
respectively.

Right now, many users try to use json codec with tcp input. This
*should* work, but due to technical limitations[1], it does not.
To compensate, we have always provided a json_lines codec to help
parse "streams of line-delimited json" which is what most folks
seem to be handling these days.

[1] I haven't found a JSON library capable of processing a byte stream.
Jackson has one, but it requires an input stream model which logstash
does not currently expose. Future work will make this possible.

Related: #1391
fix stdin message handling & specs

closes #1386
Pass correct HOME env into chroot

Without this patch the logstash isn't able to start on Debian 7 when using file input, as both HOME and SINCEDB_DIR aren't set in chroot.
initial spec for pipe input

removed logging

fixed encoding header

closes 1385
Don't install development gems.

For whatever reason, the 'development' group is installed by default via
bundler. This was not intentiona.

The effect is that we might be unintentionally violating a dependency's
license (term-ansicolor is GPL2) by including it in our release.
Definitely do not wish such things.

With this patch, the next run of `bin/logstash deps` shows all dev
dependencies being removed:

    Removing coveralls (0.7.0)
    Removing docile (1.1.3)
    Removing kramdown (1.3.3)
    Removing rest-client (1.6.7)
    Removing simplecov (0.8.2)
    Removing simplecov-html (0.8.0)
    Removing term-ansicolor (1.3.0)
    Removing thor (0.18.1)
    Removing tins (1.0.0)

Fixes #1372
fix external command invocation
changelog for 1.4.2
version bump to 1.4.2
Merge branch 'bump_142' into 1.4
Fix missing require
Fix typo
replace json parsers with JrJackson and Oj
refactored timestamps with new Timestamp class
closes #1434
Add recurse method for doing breadth-first traversal of the AST

This will be used by the filter flush compiler

Add generation of a flush lambda for each filter.

This allows filters to flush and have any generated events proceed
downward through the config as you would expect, respecting any
branches or future plugins.

Die on IOError which occurs when reading from a closed STDIN

Make filter_flusher invoke the new (and correct, I hope!) way to flush.

- On shutdown, we will also flush all filters.
- The flusher thread will terminate if we are shutting down.

Clarify the comment

Fix comment generation in the code to avoid newlines.

Add 'max_age' setting to multiline for flushing.

This setting chooses how long (in seconds) an event is considered to be
fresh before it will be automatically flushed.

This is useful for:
* slow log sources to get the 'last event' flushed,
* transaction-id-style events that have no obvious "end" event and also
  are mixed among other-id events in the same stream.

Also:
- Make filters have no teardown by default.
- Remove 'enable_flush' since it is not needed anymore; flush is always
  enabled.

refactor flush

new spool filter and specs, mainly for testing flushing

turn off unrelated test error for now

fix the flush logic, fix the flush compiles code to not include output section

synchronize cross-thread  access to @pending

refactor for performance and readability

synchronize cross-thread access to @spool

unused code

input:udp removed boggus ShutdownSignal handling, morphed loop do into while true, cosmetic reformat

use transcient events and not exceptions for in-flow pipeline signaling

inline flushing into  filterworker

removed now unnecessary flushing thread safety

fix conditionals bug for new events generated by filters & specs

spec for issue #793

performance tweeks

simplify filter handling of events and new_events

this removes unecessary duplication when treating the original event as
a special case (different from new_events generated by a filter).
Also, since @filter_func only outputs non-cancelled events, some checks
were also removed.

Move multiple filter specs to a filter_chains file

append events generated by a filter using unshift instead of insert

closes #793, closes #1429, closes #1431, closes #1548

Conflicts:
	spec/conditionals/test.rb
test and fix for LOGSTASH-2288
Fixed typo
fix flushing in metrics filter
Use a metric filter's unique object id as the metric key prefix instead of a random string, as SecureRandom.hex may take a long time to execute.