fixes best_match to return multiple matches

previously `best_match('oh', ['oh', 'mi', al'], 2)` would return the second match not a list of matches with length 2. 

Adds test.