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.
Seems like we should audit the error messages and make sure they are consistent i.e., don't log the payload in multiple places, only add the payload to the error log if we aren't sending decode failure messages etc