Optimize StatusbarProgressWidget::connectSingleItem()

For each progress value report StatusBar::showProgress() calls
ProgressItem::setUsesBusyIndicator(), which eventually results in a call
to StatusbarProgressWidget::connectSingleItem(). The return value of
ProgressManager::instance()->singleItem() changes very rarely between
these calls. Let us avoid reconnecting the same signal/slot pair
repeatedly.
1 job for !156 with fix-progress-widget in 61 minutes and 35 seconds
detached
Status Job ID Name Coverage
  Build
failed #73292
linux kf5-qt5 qt5.12

01:01:35

 
Name Stage Failure
failed
linux kf5-qt5 qt5.12 Build The script exceeded the maximum execution time set for the job
[ 99%] Building CXX object plugins/clazy/CMakeFiles/kdevclazy.dir/qrc_kdevclazy.cpp.o
[ 99%] Linking CXX shared module ../../bin/kdevclazy.so
[ 99%] Built target test_codecompletion
[ 99%] Built target test_miparser
[ 99%] Built target test_quickopen
[ 99%] Built target kdevclazy
[ 99%] Linking CXX executable ../../../bin/test_clazyjob
[ 99%] Built target test_clazyjob
ERROR: Job failed: execution took longer than 1h0m0s seconds