MB-11583 avoid cleanup race on force disconnect
MB-11583 avoid cleanup race on force disconnect

When there is a stream created with same name, then we do a
disconnect and resulting in immediate cleanup for that connection.
If this cleanup thread races with the connection's step routine
it may read an invalidated cookie causing an invalid pointer access
on the step() routine seen in the crash.
Fix is to only set the connection state to disconnected and have the
callback do the actual cleanup of the connection cookies.
Change-Id: I12b2ed93b9f8bd04cbc79c953bacd76171b8745f
Reviewed-on: http://review.couchbase.org/39027
Reviewed-by: Michael Wiederhold <a17fed27eaa842282862ff7c1b9c8395a26ac320@couchbase.com>
Tested-by: Sundararaman Sridharan <333a3f71d3ad6e01fc953c4fa06bc1f3cd014910@couchbase.com>

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