tickets/DM-199: Develop new master-worker result system

I think the design of this class is dangerous, as it is not possible for clients to lock `_mutex` while reading the public members. That means for example that there is no guarantee that `state` and `stateCode` correspond to each other.  Worse, `stateDesc` can be read in a potentially internally inconsistent state (if it is accessed while the assignment operator is running).