memory and minor speed improvements

refactor duplicate checking so we can do duplicate caching with
tokens_combination like we do with the final passwords for less
memory usage during the password verification phase;
minor speed improvement in permutations_nodups
add Notepad++ UDL (syntax highlighting) file