<Someone> reported that after an uncontrolled teleport due to eating a
leprechaun, his leashed pet was still leashed until he took one more step.
The usual approach which included disallowing the teleport seemed wrong in
this case, so I put in an abbreviated version that does its checks but does
not disallow the teleport. The pet teleports with you in the same cases as
other teleports, but when it doesn't, the leash snaps loose.
While riding, your speed was calculated using the steeds speed only when
moving multi locations. So, if you were walking step by step, it would use
your speed instead. Changed this to use the steed's speed any time actual
movement occurs.
moveloop() sets a flag when a were/poly change should occur, but it
delays this change if the hero is Unchanging or cannot be interrupted (e.g.
praying). However, by the time the change can be applied, the reason
may no longer be valid. Reset the change indicator when this is the case.
Avoids possible strange polymorphs and were crashes.