Refactored matching logic into matcher.rb and predicate_matcher.rb. Added gemspec.