Sbt builder fix and refactor

* Fixed the issue with lost deprecation warnings. #1002148
* Refactored and removed useless indirection in the build reporter

The best would be to review the two commits separatetly. The first one fixes the issue, the last one is purely cleanup.

/cc @gkossakowski
I don't think the reordering of the calls to `worked` and `setWorkRemaining` is right.

`setWorkRemaining` split the **current** remaining progress bar in the given number of work ticks. By calling `worked` first, it shrinks the remaining progress bar more than if it is done after (possibly displaying 100% done before the end).

If we start from `lastWorked = 10` and `savedTotal = 20`, the progress bar is at 50%. If the call is `(20, 30)`, with `worked` being done first, the progress bar moves to 100%, and 0% (the remainder) is split in 10 ticks. 
If `setWorkRemaining` is done first, the last 50% is split in 20 ticks, then the `worked` call moves the progress bar to 75%.