generates all possible subsets to generate single and double substitutions and generates possible combinations of applying those hits. Does not take into substitution list the half empty or 3 hit substitutions. TODO NEXT: permutation of subsets to compensate for order