Added Cloning capabilities to Predicates and Consequences, and integrated cloning these function into the Rete Orchestrator hierarchy.  This prevents the orchestrator from attempting to attach predicates and consequences to more than one source, by duplicating the function pre-attaching for each source.  This is less efficient than I would like, but can be remedied by more intelligent orchestrators.

Also moved some things around for a more consistent package hierarchy.