First pass of predicate creation code.

It isn't the best thing in the world...but it works.
The main deficiency is how PredicateFactory is coded.

I do not like having to maintain a "registry" collection of
FactoryWorkers...but it is the simplest solution that is remotely elegant
at the moment.
I may investigate alternative paths using Annotations or something.