MB-30916: Don't free closed-checkpoint-memory under lock
MB-30916: Don't free closed-checkpoint-memory under lock

In http://review.couchbase.org/#/c/98301/ I introduced a potential (and
very likely) performance regression by changing the scope of the lock in
CheckpointManager::removeClosedUnrefCheckpoints.

That change leads to releasing the memory of closed-unref checkpoint
(which is an expensive operation) under CM::queueLock.

Here I revert to the previous situation:
- first, we release the lock
- then, we free checkpoint memory.

Change-Id: Id69535fa02e81e85f332dd9eebe8472697822c55
Reviewed-on: http://review.couchbase.org/98468
Tested-by: Build Bot <80754af91bfb6d1073585b046fe0a474ce868509@couchbase.com>
Reviewed-by: Jim Walker <1cd02e31b43620d7c664e038ca42a060d61727b9@couchbase.com>

daverigby/kv_engine,daverigby/kv_engine,daverigby/kv_engine,daverigby/kv_engine