Stop including needles in the corpus.
Changes the API of Matcher#matches:

 * Corpus and haystack are now synonymous. The needles are no longer included.
 * The corpus is preserved across calls to matches so we can match
   multiple needles without recomputing the same information.
Cache BK tree, reset with corpus.
Function exists in score.rb too.
Merge branch 'master' into keep-haystack

Conflicts:
	test/tests.rb