Rewrote Message.copy() to make it more efficient.
This also made it simpler, which is good.
Documented copy on send.