Added rules class with one very basic rule
Convenience improvements to rules
Better argument names for rule apply methods
More useful to pass a factstore and deductionstore rather than a list of all facts and deductions
Made infostore.all() return an iterable (not set) and implemented engine processing