General exception with an optional string, map, or Keyword list stored in exception details
@spec new(String.t() | nil, any()) :: %ExRocketmq.Exception{ __exception__: true, details: term(), message: term() }