openssd: move page and block data alloc to mempool

Use mempool for better performance and make sure we can always allocate
some mem.

Additionally, put a lock around the nvm_pool_get_block, so we fix the
race condition that might happen when two threads allocate from
nvm_pool_get_block, but only the last is set in the ap. Leading to loss
of blocks