Work around braindead QFileInfo::exists() behavior for symbolic links.

Change-Id: If8002fc7be0cc6af954ebb28ccbcb7bee1031e1c
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>
Allow long-running commands to be canceled.

At the moment, canceling a build waits for the current
command to finish, which means that a badly behaving process
or piece of JavaScript code can block qbs indefinitely.

Task-number: QBS-552
Change-Id: I8ac23f068dd6083905a9681097da6b970c0b646b
Reviewed-by: Joerg Bornemann <joerg.bornemann@digia.com>