fix: don't delete reservations you don't have

I tried to add a test case for this that:

1. Got a reservation on a resource
2. Changed the resource to be reserved by someone else
3. Waited for the reservation to detect the loss
4. Asserted that the resource was still reserved by someone else

Unfortunately, because `_ensure_reservation` is an asynchronous function that throws an exception, Mocha would catch that exception and fail the test case at step 3