Make locking during unsubscribe more obviously correct.  (Was safe previously but this relied EventUpdatePrepareForDelete() not throwing so was a bit fragile.)
Rearrange subscription notify handling code to avoid taking the subscription's lock until all the entire update has been read.  This risks doing unnecessary work if the event has an incorrec sequence number but avoids the risk of an unsubscribe blocking because a device is failing to deliver its NOTIFY payload.