Fix a client freeze caused by malformed paths.

Some mmaps-generated paths contain points which are so close together that
the offset from the destination (when rounded) is zero. This was causing the client to seize up.
Fix creatures running in the wrong direction.

Two issues can cause creatures to appear to run in the opposite direction
of where they are really heading.

If a SMSG_MONSTER_MOVE with MonsterMoveFacingAngle is sent immediately
before a MonsterMoveNormal, the creature will seem to run in the direction
of MonsterMoveFacingAngle, rather than the proper direction. This occured
because MonsterMoveFacingAngle was used instead of MonsterMoveStop in
Unit::StopMoving.

A MSG_MOVE_SET_X_SPEED can also cause the issue. Since the speed update is
handled in SMSG_UPDATE_OBJECT these packets do not need to be sent.
Fix fleeing creature walking instead of running.

The server should always send SMSG_SPLINE_MOVE_SET_RUN_MODE when a creature flees.
Merge Unit::InterruptMoving into Unit::StopMoving.

Because StopMoving no longer changes the unit's spline, units
continued to move after it was called. This is not desirable behaviour
under any condition so the code that stopped the unit from moving
server-side in InterruptMoving is now part of StopMoving.

InterruptMoving has been removed since all of its functionality is now
part of StopMoving. StopMoving should be used wherever InterruptMoving was
used.
Fix aggro causing stunned creatures to face the wrong way.

If a creature is aggroed with a stun, the creature will begin chasing the
player and get stunned in the same update, in that order. So when the stun
causes the creature to stop moving, it will have it's orientation turned
toward the player.

To fix it, creatures shouldn't get a new orientation in Unit::StopMoving
when they are currently stunned.
Merge branch 'movement_fixes' of https://github.com/Patman64/mangos-classic into develop