Switch log code from busy wait loops to condition variables.

This helps with highly multi-threaded workloads. I found that I needed to add condition variables to both the slot notify/wait code, and the log_release co-ordination to see any benefit. Adding them to one or the other caused performance to degrade.

@sueloverso 

Could you take a look at this please? I remember you telling me that condition variables performed worse with a workload you tested with. This change is beneficial for the workloads I'm concentrating on, could you retest to see if it is negative for your workload?

Michael committed a change to the WiredTiger condition variable implementation a while ago that meant we could skip notifications. Hopefully that will mean this change helps your workload as well.