Moved and renamed all classes into a consistent and logical package hierarchy. All functions created for RIF are universally applicable, RIF specific providers are in compile.rif.providers, RIFStreamImportProfiles are in compile.rif.sources, etc.
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.