MB-19503: Fix ConnMap so notifications don't go missing.
MB-19503: Fix ConnMap so notifications don't go missing.

There's a reliance on an atomic bool and cmpxchg to
prevent the producer of notification from queueing
himself if he's already got a notification scheduled.

There's an ordering issue though where the producers code
can execute, see the flag is true and not bother queueing
a notification, yet the consumer side is about to clear the
flag and finish. The notification thus never gets queued
and the producer side thinks he will get a notification.

In my terminology:
producer is ConnMap::notifyPausedConnection
consumer is ConnMap::notifyAllPausedConnections


Change-Id: Id324b6369c5ee3a6b6758a7a93e017a4ff7c4a78
Reviewed-on: http://review.couchbase.org/63934
Well-Formed: buildbot <80754af91bfb6d1073585b046fe0a474ce868509@couchbase.com>
Reviewed-by: Dave Rigby <a09264da4832c7ff1d3bf1608a19f4b870f93750@couchbase.com>
Tested-by: buildbot <80754af91bfb6d1073585b046fe0a474ce868509@couchbase.com>

teligent-ru/ep-engine,daverigby/kv_engine,teligent-ru/ep-engine,daverigby/ep-engine,membase/ep-engine,teligent-ru/ep-engine,couchbase/ep-engine,teligent-ru/ep-engine,daverigby/kv_engine,membase/ep-engine,daverigby/kv_engine,daverigby/ep-engine,couchbase/ep-engine,daverigby/kv_engine,daverigby/ep-engine,couchbase/ep-engine,daverigby/ep-engine,membase/ep-engine,membase/ep-engine,couchbase/ep-engine