------------------
* Merge ProceduralRule class with Rule
* Split aspects of Rule into a separate Holding class
* Use Selectors to anchor Holdings to Opinion text
* Ignore was/were differences in Predicate content text
* Let input JSON label a Rule as the "exclusive" way to get output
* Create addition operator for Factors, Rules, and Holdings
* Let Rule init method handle the necessary Procedure init method
* Use addition operator to add Factors as Rule inputs
* Use addition operator to add Enactments to Rules
* Create function to consolidate list of Enactments
* Add Union operator for Rules and Holdings
* Move functions for loading objects from JSON and XML to new I/O modules
* Add "explain" functions to show how generic Factors match up when a contradiction or implication exists
* Add whitespace to `__str__` methods for greater clarity