- add exception class in debug mode
- emit exceptions on config compile errors.
- add line codec (line-delimited data). This compliments the other major
common case of "plain" codec in which the decoding calls all yield
events and no buffering is done (for generator, udp,zeromq, and other
whole-event inputs)
Fix input and agent harnesses
- fix redis tests
- add 'bug' error class for  more obvious things where we can notify the
user that code is using APIs that no longer exist, etc.
Formally make the 'plain' codec work on payloads. Any 'decode' call will yield an event.
- allow plugins to override default values of parent-class configs
  This is intended initially for plugins to declare their own default
  codecs where necessary.
- if someone tries to create an event with a @timestamp string, parse
the time as an ISO8601 date.
- use puts for now, maybe consider using the line codec instead.
- drop event if json conversion fails (this feature will go away or
become tunable)
- style fixes on variable names
- set default codec to json
- remove use of @format
- set default codec to plain
- deprecate charset on inputs, but still be backwards compatible.