Improved name.

RuleLanguage better represents the activity of the class and that it is not publicly instanceable.
Stored name in RuleSet.
Returned RuleResults from rule evaluation instead of building them in RuleSet.
Separated results for rules and sets.
Added proper test clean up to prevent state bleeding into other tests.