Report progress on background thread
Report progress on background thread

Having the progress reports directly generated in beforeWork delays the
task from being submitted to the executor. This commit moves all of the
reporting onto the background thread to avoid these delays since
progress is less important than task evaluation.

sbt/sbt,mdedetrich/sbt,mdedetrich/sbt,mdedetrich/sbt,xuwei-k/xsbt,sbt/sbt,xuwei-k/xsbt,xuwei-k/xsbt,sbt/sbt,mdedetrich/sbt,sbt/sbt,sbt/sbt,sbt/sbt,mdedetrich/sbt,sbt/sbt,mdedetrich/sbt,xuwei-k/xsbt,mdedetrich/sbt,xuwei-k/xsbt