Fix polymorph crashing, and teak the probabilities a bit.

This change will make polymorphing a bit more likely to occur.
The previous algorithm could often generate very narrow acceptable
level ranges which might not have been satisfied. After this
the range of possible polymorphs should be a bit wider.