Permute

Member functions for an array that allow one to permute, roll, and transpose axes.
We should go with rotate.

Although I thought about the axis reference, I'm not totally sure about that. Transpose is fine, everyone seems to just call it transpose. Permute I think as well, MATLAB just calls it permute (http://www.mathworks.com/help/matlab/ref/permute.html).

So the lone dissenter is roll. Maybe we should just call 'roll' instead 'rotate' and see if we can live with it. It seems weird having 'transpose', 'permute', and 'rotate_axis' rather than 'transpose', 'permute', and 'rotate'.