Move stuff around, and make Matcher interface saner

Start working on #39
Apply syohex's fix

Should fix #39
Fix string representation
Merge pull request #42 from lestrrat/gh-issue-39

Fix to allow matching a query fragment multiple times in the same line