Pattern#matches? replaced by #match(fact) which returns bindings or nil
Condition now returns list of matches (bindings)
Rule#matches now returns list of matches (bindings)
Rule#fire now provides bindings to the block
created Match which wraps Rule with matching bindings
Rules#satisfied replaced by #matches which returns list of Matches
Environment#step selects and activates matches, not rules directly
added unit tests for pattern, condition, rule, rules
updated inference integration spec