implemented matcher.py 100% :D

- use function composition in namedtuples for tests instead of classes
- easy results reduction functions
- fully-furnished main function has almost all the functionality of the
  perl tool this seeks to replace
- matching/reducing is timed for maximum goesfast