RulesParser: split out the abstract parsing classes to a separate module

Signed-off-by: Gregory M. Turner <gmt@be-evil.net>