Re-work how position-init and ATC-manager work together to do
parking assignment and fallback (when the parking is unavailable).
Improve the logic for the reposition case, and teach ATC-manager about
reposition explicitly.
When the parking is unavailable, explicitly fall back to best-runway
selection in finalizePosition.
Add many additional position-init tests, to cover all of this.
Testcase for running posinit twice.
posinit sets various properties which it then reads, so there's
a possibility that it could write a value which causes unexpected
behaviour when run later.
Unclear if this should be a unit test or a system test, but it's
simple enough to be a unit test.