Make TransitionController's helper handle start and queue

The logic for whether we need to queue a transition or not will be
more complicated once transitions can run in parallel, so move
the decision logic to TransitionController so that it doesn't
need to be repeated everywhere.

Bug: 264536014
Test: Just moving code, so existing test should pass
Change-Id: I89f69054393f4d0f45500869b25e801781d67c76
8 files changed