QtSynchronizeRepo: Add FORCE_CHECKOUT option
A repository that was already at the required revision was skipped, and
a plain git checkout keeps local changes. This made it impossible to
check out repositories that were cloned with --no-checkout.
Add a FORCE_CHECKOUT option that passes --force to git checkout and does
not skip dependencies that are already at the required revision. Each
dependency is forced only once, so the revisit loop still terminates.
Fixes: QTBUG-151391
Change-Id: Ic8ce97cc901905de51a15d1628e14d5870554c1e
Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>