Untranspose method

In some cases, for higher dimensional tensor arrays it is not obvious how a transposition can be undone. This function adds a simple helper function for that.
You probably meant to make this `transpose(a, argsort(axes))`...

Also, I don't think this works properly with the default `axes=None`.

Lastly, although probably not relevant for this case, as we never have more than 16 axes, this unsorting is typically faster when doing:

```
new_axes = np.empty_like(axes)
new_axes[axes] = np.arange(new_axes.size)
```