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

Adds more support for enter/exit/dock logic.
Fixes #4640 - Units teleport into transports.
`Util.RunActivity` should simplify things here too (it accepts a null activity).