In commit 00b81949d3 where Message and
Envelope objects were made uncopiable the Envelope _body member was
changed from const char * to char * and a const_cast introduced to
remove the qualifier from the pointer passed to the constructor.
This technically produces undefined behavior when constructing an
Envelope() to publish data from a const buffer. It also risks future
bugs if a new subclass of Envelope mutates const objects through the
_body pointer.
Envelope does not need to support mutable or owned content. Move this
capability down to Message which is used in restricted situations where
the body size is set once and its content built up piecewise.