Block rollback commit if it may violate min extension constraint.

This CL adds a check when a rollback is committed, if the rollback
contains an apex and an extension version has increased since
the rollback was created. The check looks for any installed app with
a minExtensionVersion greater than was present when the rollback was
created.

If such an app exists, the rollback commit is not allowed to occur.

See go/sdk-extensions-and-rollback for more details.

Bug: 152737927
Test: atest RollbackUnitTest
Test: atest RollbackTest
Test: atest RollbackManagerHostTest
Merged-In: I7fd7d98a03ecb1edb1b79475fadb944bc4f2fd6f
Change-Id: I7fd7d98a03ecb1edb1b79475fadb944bc4f2fd6f
4 files changed