Break the insults into lines and then words, then flatten into one large array. This resolved problems where the last word on each line was being concat'd to the next line, as splitting by space did not account for newline characters
Make the "strip non alphanumeric" method explicitly only allow lower case letters and not spaces. Note that is no longer a need to allow upper case here as all words are now lower-cased before this point
Check for a stopword match both before and after cleaning each word. This is required because the stopwords file contains non-letters, but also some words only become stopwords when non-letters are removed
The list is now ordered by frequency then alphabetically, as per updated rules
Renamed some things during debugging, to add some clarity to what things are