Rule Operator Class

Requires PRs #20 #15 #22 #28 

This requires heavy scrutiny, as I'm sure I've done stuff wrong and made mistakes. But it's at least a start on the rule operator class.