This doesn't change the API expressibility as its currently the
only type of message that can be sent, but avoids a generation
failure as we can't call `&self` methods on complex enums unless
we can `clone` all the inner fields. The correct solution to this
is to simply not expose those methods (which sucks, but at least
for `OnionMessageContents` they don't really matter), but that
doesn't have to come now.