added permutedims!

Separated the permutedims method into a permutedims! method which
stores the permutation a given array into a specified destination, and
the wrapper permutedims which reproduces the original functionality by
creating the required destination storage and then calling permutedims!
on it.
Further changes to permutedims and tests

With this commit, all tests pass. I changed the permutedims tests to
have permutations specified by vectors instead of tuples (which is also
how it is stated in the manual). I also had to make two seperate
versions of permutedims!: when B is a BitArray, P has to be a BitArray,
whereas for B a StridedArray, P should be an Array. I don’t think it is
possible to obtain this behavior in a single parametric definition.
Removed type annotation of argument in isperm

As requested
Merge pull request #4886 from Jutho/master

added permutedims!