Rewrite Enter and related activities.

The unit will now path to the nearest adjacent cell,
and then drag inside do the inner activity, and (if
the unit is still alive) drag back to its original
location.

This fixes:
 - Mismatch in logic between Enter and MoveAdjacent to,
   which causes an infinite loop.
 - Building capturing failing from certain directions.
 - Being unable to enter buildings on unpathable tiles.
 - Units being stranded inside a building if the requirements
   for the inner order aren't met.
Add a ParentActorInit for FreeActor spawns.
Make bridges repairable.
WIP: Add bridge huts to enable bridge repairs.