Introduce ResponseInstructions for OnionMessage Handling
- Currently, handle_message (or handle_custom_message) only exposes
the generated response for an OnionMessage, lacking the necessary
reply_path for asynchronous responses.
- This commit introduces a new flow for OnionMessage handling.
- Instead of solely taking the message as input, handle_message now accepts
an Optional `responder`, returning a `ResponseInstruction` containing both
the response and the reply_path.
- `ResponseInstruction` utilizes different enum variants to indicate how
`handle_onion_message_response` should handle the response.
- This enhancement enables exposing the reply_path alongside the response
and allows for more complex response mechanisms, such as responding with
an added reply_path.
- The commit introduces the foundational framework (structs & enums) for this new flow.