All init methods in rule.py should raise RuleError when any problem is found and and not a generic Exception that is harder to test for.
Also updated tests to look for this exception to make tests better.