std::vec: Use Iterator<~[T]> for Permutations
std::vec: Change ElementSwaps to emit the last (0, 1) swap