Rework ConsumerInvoker to remove Converter

The ConsumeInvoker contract doesn't require argument conversion so
the use of a Converter has been removed from the ConsumerInvoker
interface. Instead, a Converter is now held by a ConsumerInvoker
implementation -- ArgumentConvertingConsumerInvoker -- that does
perform argument conversion.