Add cancel class which allows to past cancelable object.
Add more git exception types.
Add cancel to git clone.
Pass cancel object to fetcher and parser.
Add cancel to pack parse
nits.
more work
Catch exception in futureNonBlockingUI loop.
Fix bug in canceling clone.
wrap http_fetcher error into GitExceptions
Handle cancel exception in scm layer.
Add Git progress dialog.
fix broken git pack test.
catch file / directory not found exception in clone.
fix progress dialog.
Merge branch 'master' into git_clone_cancel

Conflicts:
	ide/app/lib/git/exception.dart
	ide/app/lib/scm.dart
	ide/app/spark.dart
nits.
Merge branch 'master' into git_clone_cancel

Conflicts:
	ide/app/lib/exception.dart
	ide/app/lib/scm.dart
	ide/app/spark.dart
Add TaskCancel class.
More work.