Slight refactoring to group domain-specific feature functionality, divide it from domain-independent feature language interpreter.
Interpreter can now handle both postive features --- features whose provided values need to be matched for inclusion in the list --- and negative features --- features whose provided values must not be matched for inclusion in the list.
More refactoring to remove domain-specific processing from synthesizer.
Cleaning up a little.
Cleaning up some more.
Fixed a problem with recognizing when to back off to all features but xpath.
Merge pull request #2 from schasins/master

Cleaning up