Treat a player-swapped monster as though it moved (doh)

apply_location_effects takes the old, not the new, position.
Simplify.

The old way only worked because of an obscure rule that, when a const
lvalue reference is initialised with an rvalue, the lifetime of the
rvalue is extended.  It would have broken if someone made the reference
non-const.