SML 28-32, 53
Make StringPermuter into functor

Create a general functor PermuterFn and expand for strings.  It can be
used to expand other types as well.
SML 33, 87

Also add "-timing" argument at the beginning to compute timing of
execution.
SML 34, 35
SML: Use more SML style names

Use nextPrime and isPrime instead of the underscore variants.
SML: Generalize reverse and palindrome

Move into Misc structure, and add a 'base' argument to describe the
base to do the computation in.
SML: 36-39
SML: 40-45