Modifies IMove & Enter and Fixes #4640 - Units teleport into transports

Adds more support for enter/exit/dock logic.
Fixes #4640 - Units teleport into transports.
We haven't needed to use `goto case` statements in our other activity state machines. What is the logic for using them here?