Use a std::set for replication queue dedup.
Use a std::set for replication queue dedup.

This has a couple of O(log n) ops (where n == queue len), but is safer
than the O(1) lock-free option that has almost no memory overhead I
was considering.

That may still be possible, but it will require a lot of lock analysis
to determine whether the new algorithm would be lock free because it's
safe or because the right things weren't locked at the right time.

So in the meantime, we'll go with the slightly slower, but safer and
more isolated approach.

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