Discovered bug with Lowercasing all words in Dict

By lowercasing all the words being indexed into the AnagramMap, words
that are included in an uppercase and lowercase first letter get added
twice to the list.  This causes an infite loop when attempting to select
a word from the list which is not the word being anagramed since there
are two.
Rewrote anagrams to store unique words in maps

Problems with words getting added twice thanks to the lowercasing
necessities prompted switch to using unique maps of words branched from
their sorted state.  Rewrote/defined necessary data structures.