Slight change to semantics of list_rearrange
It now checks that the permuter is actually a permuter
Proved permutation swapper, WIP on using permute oracle