ENG-5471: Merge canSafelyFreeTuple with notifyTupleDelete in all the table
stream contexts.

When a tuple delete undo action is released, all contexts will be notified and
they can make the decision of whether the tuple should be freed immediately or
not.

The COW context may stop a tuple from being freed immediately, but the tuple
should still be removed from the elastic context.
ENG-5471: Check if a tuple is pending delete before materializing it from the
elastic context.

If the tuple is deleted but pending snapshot, it shouldn't appear in the elastic
read context.