[Version Control] General fixes to Checkout Command:

ProgressDialog now exposes if it's cancelled or not.
Set the MessageDialogProgressMonitor as slave so we can access its IsCanceled.

[Git] Implemented Cancelling of Checkout.