Report TAPI progress events for work items This commit introduces a new `OperationType.WORK_ITEM` and adds specific `ProgressEvent` implementations. For backwards compatibility, if the new OperationType is not requested, but `OperationType.GENERIC` is, it will be reported as a generic build operation.
Ensure command-line deprecation messages are sent from the client to the daemon, as was previously happening when Java serialization was used. Change signatures on various types to communicate this expectation better. It would be better if the messages were logged in the client rather than travelling to the daemon and then back again. This change does not address this and simply recreates the situation that was already in place.