Extended InputRunner to automatically load decoder, and to expose

a Deliver method that supports synchronous or async (i.e. channel
based ) delivery to decoder or direct injection to router. Also added
support for tagging and injecting messages that fail to decode.
- Could just add this in the Type header 'heka.decode_failure' as opposed to a field.
- Probably want to include the failure error message as a field