Caching producer on output and new selector for input

Made changes so that a producers will be cached when using JMS for an
output. Also added the option to use a selector on an input. Also
adjusted tabbing which is why there are more changes.