amqp message
this struct is passed to the consumer to be handled
message() :: %RabbitMQFabric.Message{fabric_state: term, metadata: term, payload: term}
new(binary, Keyword.t, %RabbitMQFabric.FabricState{channel: term, consumer_tag: term, fabric: term}) :: message