Change the FastSet implementation for Attoparsec.Text to use a HashTable

I have reimplemented the Text FastSet as a minimal hashtable. In my testing this seems to be more efficient than binary search at all sizes, but it is definitely faster for very large sets. I have used simple Robin Hood hashing which has good density and cache locality, but it might be worth checking out perfect hashing or cuckoo hashing. I also moved around and added to the tests for this section of the codebase.

Thanks,

Sean