Add algorithm and threshold options to Configuration

- change Matcher to accept algorithm and threshold in initializer
- add Matcher#run
Add matching to SingleThreadedRunner