Reset holder reference after a wait timeout.
Reset holder reference after a wait timeout.

When wait waits and does not receive a signal, but times out instead,
it still reaquires the lock, but does not reset the holder to the
current thread.  This leads to an assertion indicating the lock was
improperly released.

Change-Id: I7855c02d860d1489157ab970b7624d4e4ab05af1
Reviewed-on: http://review.northscale.com:8080/523
Reviewed-by: Steve Yen <ef850f73f7832052d3c6d9b5ddd3a1716d9a57f1@gmail.com>
Tested-by: Steve Yen <ef850f73f7832052d3c6d9b5ddd3a1716d9a57f1@gmail.com>

membase/ep-engine,sriganes/ep-engine,membase/ep-engine,zbase/ep-engine,sriganes/ep-engine,abhinavdangeti/ep-engine,couchbaselabs/ep-engine,teligent-ru/ep-engine,daverigby/kv_engine,couchbase/ep-engine,daverigby/kv_engine,daverigby/kv_engine,jimwwalker/ep-engine,owendCB/ep-engine,membase/ep-engine,couchbaselabs/ep-engine,owendCB/ep-engine,abhinavdangeti/ep-engine,abhinavdangeti/ep-engine,zbase/ep-engine,abhinavdangeti/ep-engine,couchbaselabs/ep-engine,jimwwalker/ep-engine,zbase/ep-engine,daverigby/ep-engine,hisundar/ep-engine,hisundar/ep-engine,membase/ep-engine,abhinavdangeti/ep-engine,daverigby/ep-engine,sriganes/ep-engine,jimwwalker/ep-engine,zbase/ep-engine,owendCB/ep-engine,daverigby/ep-engine,hisundar/ep-engine,hisundar/ep-engine,zbase/ep-engine,sriganes/ep-engine,teligent-ru/ep-engine,couchbase/ep-engine,couchbase/ep-engine,jimwwalker/ep-engine,couchbaselabs/ep-engine,couchbaselabs/ep-engine,daverigby/ep-engine,teligent-ru/ep-engine,couchbase/ep-engine,teligent-ru/ep-engine,owendCB/ep-engine,daverigby/kv_engine