Ability to abort created but unsealed Plasma objects

Details

Description

It would be useful to allow a Plasma client to abort an object that it created but hasn't yet sealed. After the abort, it should appear as if the object was never created all. The logic is similar to the delete case, except that the client must release the object atomically with the removal of the object from the cache and store.

In Ray, for example, we need this for the distributed version of the Plasma store, where many Plasma clients transfer objects to each other. If a sending Plasma client fails during a transfer, we want to make sure that the receiving client can abort the transfer, so that we can later recreate the object successfully. Otherwise, we will fail with an error that the object already exists.