test/bluestore: fix memory leaks in ExtentMap.reshard_failure test
The ExtentMap.reshard_failure test was leaking memory by not properly
cleaning up the OnodeCacheShard and BufferCacheShard objects it created.
ASan reported:
Direct leak of 9928 byte(s) in 1 object(s) allocated from:
#1 BlueStore::OnodeCacheShard::create() BlueStore.cc:1221
#2 ExtentMap_reshard_failure_Test::TestBody() test_bluestore_types.cc:1244
Direct leak of 224 byte(s) in 1 object(s) allocated from:
#1 BlueStore::BufferCacheShard::create() BlueStore.cc:1680
#2 ExtentMap_reshard_failure_Test::TestBody() test_bluestore_types.cc:1246
SUMMARY: AddressSanitizer: 10288 byte(s) leaked in 8 allocation(s).
Fix by:
1. Wrapping coll and onode in an additional scope block to ensure they
are destroyed before the cache shards (releasing all blob references)
2. Adding proper cleanup with delete bc and delete oc at test end
This matches the cleanup pattern used in BlueStoreFixture::TearDown().