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