Cleaned up DiceSimilarity and re-factored SimonWhite to use a tokenizer

I wanted to compare SimonWhite to DiceSimilarity because they are very similar but also subtly different. So I made some improvement to allow SimonWhite and DiceSimilarity to use the same tokenizer (important part of SimonWhite).

So I cleaned up DiceSimilarity and re-factored SimonWhite to use a tokenizer

Also fixed a broken unit test.