Rearrange some things with MovingListener/PlayerMove(lowest).

1. Don't check sf if passable sets back already, since passable favours
the
sf-set-back-location anyway.
2. First check which checks to check, to somewhat clean up the
MovingListener
3. Reset some properties on set-back in MovingListener.
Tweak lost-ground workarounds.

Allow a little more on ascending, early abort on descending too fast.