What needs to be done:
- Serialize caught errors in the run()::onError handler and persist to config.localReshardingOperations.
- Add an error field to recipient/donor array on entries on the coordinator document idl. This error field should be able to hold an error code and the string associated with it. When a donor/recipient receives an error that is unrecoverable, it will indefinitely attempt to majority write the error, along with a change to the error state, to its own array entry on the coordinator's config.reshardingOperations document.