Added a data type for representing permutations
Added utilities for working with permutations.

The `permutation` function converts permutations into a more intuitive
vector representation. It is equivalent to permuting the vector [1..n].

The `permutation'` function does the same, but returns a vector of Nats
instead of a vector of Fins. This is much more readable.

`reverse` is a permutation that reverses its input.