New internal function to get permutation matrix from variable input

In vegan, permutations can be defined either as a single number
giving the number of permutations (plus a strata argument defining
blocks), or as a how() structure defining the control in shuffleSet,
or they can be be given directly as a permutation matrix. This
function takes any of these alternatives and returns a permutation
matrix. The implementation is based on the current code in
permutest.cca.
Replace interpretation of permutations with function of factored code

GetPermuteMatrix() code was lifted from permutest.cca, and now
we use that function in place of the old code
anova.cca works again

wrong call in GetPermuteMatrix, and howHead should also cope
with input permutation matrix.
anova.cca* now work with new permutation procedures
GetPermuteMatrix sets minimal "control" attr for how if matrix was supplied

If user supplies a plain permutation matrix, GetPermuteMatrix will set
its "control" attribute so that vegan::howHead() can print the info.
However, permute:::print.how() would fail. This is a dirty kluge, and
something better should be invented, but that should be in the permute
package instead of vegan.
adonis: use permute package
anosim: use permute package
CCorA: use permute package
mantel, mantel.partial: use permute package
mrpp: use permute package
env/factor/vectorfit use permute package
nesteddisc uses permute package

nesteddisc is not a permutation routine at user level, but it tries
to iterate to better solution using permutatios of tied values.
Deprecate permuted index, document GetPermuteMatrix
R CMD check found some real problems

File man/permutations.Rd is outdated: it describes the ancient
vegan permutation scheme with permuted.index(n, strata). Needs to
be rewritten (@gavinsimpson).
adapt protest to the new permutation API

protest was already based on permute, but now we use GetPermuteMatrix
for unified UI. NB, protest never had 'strata' argument and we
neither add it here.
adapt simper to the new permutation API
adapt permutest.betadisper to the new permutation API
Use same description of 'permutations' in all manual pages (Rd)

The description was lifted from man/permutest.betadisper.Rd
clean up manual pages
document howHead