Added Constructive Dilemma and Disjunctive Syllogism. Also changed other rules to avoid a potential reference error.  references to existing rules were being used to create new ones, so a change to the arguments could result in a change to the created Facts.  Fixed this by making sure every Fact is created from scratch (ie string parsing)