Add parallel chain routing with the message filter syntax

Reworked the PipelinePack removing the chain specific config information.
The PipelineConfig and PipelinePack should be treated as read only making
them safe for concurrent access (with the exception of the RefCount and
that is protected by an atomic). The FilterSpecification can handle
concurrent comparisons and the output is done via a channel so everything
else looks good.