Adding handling to only update our caches on an add/delete if the
actions commit successfully. Invalidates our cache for those records on
a rollback and submits a read for the files.

Also added checking to make sure we don't handle commit/rollback
responses multiple times on the client in the event of a repeated
commit/rollback notification (due to delays, drops, etc.)