text: Title: Add log messages to result model that is build during execution and available to listeners
  Body: In the new ListenerV3, it would be nice if result.messages were already populated in end_test and end_keyword.
  Currently, the messages have to be collected using log_message to be used in end_test and end_keyword.
  An example workaround looks like this:
  
  ```
  def start_body_item(self, data, result):
      self.body_items.append(result)
  
  def log_message(self, message: Message):
      result_msg = result.Message(
          message=message.message,
          html=message.html,
          level=message.level,
          timestamp=message.timestamp,
          parent=message.parent,
      )
      if self.body_items:
          self.body_items[-1].body.append(result_msg)
  
  def end_body_item(self, data, result):
      self.body_items.pop()
  ```