Turned TargetTypeProvider into an interface and allow it to be injected into a ProtocolToModelAdapter instance. Use a no-op implementation by default and the consumer-specific provider only in the consumer connection.
Shuffled around some tooling API classes. In particular, moved ProtocolToModelAdapter out of the consumer hierarchy as it is used by both the consumer and provider.