Allow MessageSchemes to be aware of RabbitMQ messages.

Currently, a message scheme only has access to a message's
payload. This means that if you need access to routing key,
time stamp or any other "meta" information from rabbitmq
within your topology, you can't use storm-rabbitmq.

This change allows you to write MessageSchemes that have
can create tuples that include not just payload data
but any additional rabbitmq envelope information that you
may need.

Previously, this information was only available when
emitting a tuple, not during tuple creation.