Added permutation algorithm that uses backtracking to generate all permutations. Refactored minor stuff in the other permutation generator classes