Forwards signals from one 'conditionVariable' to another.
Details
The condition value of cv is initially reset to zero when this operator
returns. Only one forwarder can be active on a cv at any given time, and
assigning a new forwarding target cancels any currently existing forwarding.
Changes in the condition value of cv are forwarded to cv2, but only on
each occassion cv is signalled. This means that waiting on cv will cause
a temporary divergence between the actual condition value of cv and that
recorded at cv2, until the next time cv is signalled.
