REVERTME: debug code
check if we can half the logical size of the block
Split PLTSBlock to BaseBlock, ActiveBlock, LastBlock
extend preliminary code for reducing block size"
DOC
pass in block to check if merge is required instead of accessing class member
get rid of m_size
move put and try_put to LastBlock
reduce virtual array capacity if possible
FIX: set item pointers to null if item is taken (by another thread)

This way, we do not have to scan the whole partition for items that have not been set to nullptr yet
add some more debug assertions
FIX: repartition right-most partiton after a fallback
REF: extract method try_shrink
DOC; prepare for handling dead blocks
Allow instatiation of active blocks with lvl > 0
add a flag to indicate whether a block is dead
remove DeadBlock, LastBlock and BaseBlock
REF
set end pointer correctly when instantiating block of lvl >0
REF: reduces checks if merge is required