Moved TopicLayout to MessageProperties

The intent is for the MessageProperties to hold all the message specific
properties that might change from one message to another.   That
includes the Topic.
Group Exchange and Message properties

The intent here is to group all the exchange properties under one
property and all message properties under another property.

Other than the exchange name, the exchange properties are only used when
the exchange is declared and initialized.

Message properties can be customized for each message sent.