migration: Return leaves when stitching definitions
Created by: efritz
This PR returns additional data when stitching together migration definitions over multiple releases. We also need to know in the migration graph where we can "pause" to ensure that out of band migrations have run prior to upgrading the schema into a future state that is no longer compatible.
Test plan
Existing and new unit tests.