Copy + assignment for Mutexes and Conds, made waiting on Conds legit, mechanism for join() with timeout added.