Codecs should return anything. Inputs should be able to handle any input...

... from codecs.

As discussed in IRC, this change makes it so that codecs can return any type of object (hash, array, string, LogStash::Event, whatever they choose).
Inputs (or in future, filters) are then tasks with converting that object into the kind they need.

All inputs which use codecs currently expect to work with LogStash::Event objects, so the `eventify` method takes what codecs have output, and returns the standard Event object with @timestamp.