Cleaned up code in match.rb and improved Visitor.

All pattern elements are now wrapped in a Pattern class, rather
than leaving bare objects arround to be speical cased.  Now, all
pattern element comparisons are done using the match? function.

Patterns can now be sorted.

Implemented the new pattern ordering method for the Visitor class.
More testing needs to be done.

Added support for subclassing Visitors.
Merge branch 'master' of github.com:chriswailes/filigree