crimson/os/seastore/lba: avoid paddr from crossing coroutines
Previously, LBAManager::remap_mappings() works as follows:
1. get the mapping's val;
2. remove the mapping;
3. insert the remapped mappings.
With pessimistic cc in place, during the above step 2 and 3, a rewrite
transaction that modifies the same mapping might be committed and miss
the pending lba leaf nodes because it doesn't contain the mapping at the
time.
This commit change the above workflow as follows:
1. replace the mapping with the first remapped mapping;
2. insert the remaining remapped mappings.
Note that all the remaining mapped mappings' paddrs are calculated based
on the mapping before it in the same coroutine as the insertion, which
means it'll always see the modification of a background rewrite
transaction.