Add each_permutation, reverse_part, rustdocs, and tests for each_permutation and reverse_part