feat(hermes): Generalize `doc_sync_topic_message_handler` to allow handling multiple payload types (#792)
* Limit the length of the logged message * Generalize `doc_sync_topic_message_handler()` * Split `task.rs` into smaller modules * Introduce `ipfs::doc_sync` module * Introduce `reconciliation` module * Move `create_reconciliation_state()` to a proper module * Add proper error handling * Remove wrong comment * Simplify `make_syn_payload()` * Rename `DocSyncTopicHandler` -> `TopicHandler` * Fix lints * Rewrite the `make_syn_payload()` to be more concise * Fix lints * Avoid cloning the `TopicMessageContext` * Fix lints