Fixes #6068 and #4605

Requires #6208. (Currently based off it; I can rebase & remove the #6208 dependent code if required).
The code for this fix is actually in the last commit (`Fixes #6068 & #4605`).

The reason for using #6208 is the changes made to `IPositionable` for sub-cell support in the core logic for managing actor positions (ActorMap.cs). These changes would require further editing to Aircraft.cs to combine a disjoint fix for #6068 and #4605 with the new sub-cell logic.