add in some of the basics of rules
refactor rule parsing elsewhere
check calling context for each rule type
rules mostly work
rename RuleTree to ruleTree to not confuse as a class
fix string patching