Bugfix: Lack of arrival/departure event cancelling

BUG:
MoveUp->Stop->MoveDown when between floors ends up arriving at wrong floor

CAUSE:
Arrival ("arr#") event not cancelled, so the elevator may arrive in the "wrong" direction, thus teleporting a floor up or down.

FIX:
`string moveEvent` stores the previous moveEvent, such that it can be cancelled.
Wrap entire receive fcn in `if(m != currDir)`.
Only set nextFloor on departure event, not when receiving new MotorDirection.