If there's no body ({bdy} field), ->each_part set the {bdy}
field to "\n" and the ->as_string result afterwards is one
extra "\n" byte longer than the original.
It's not worth extra cycles in common ->each_part calls to
ensure 100% round-trip matches of header-only messages (which
are likely spam), especially when the only difference is a
trailing "\n".
xt/cmp-msgstr.t
xt/cmp-msgview.t
xt/eml_check_limits.t
-xt/eml_check_roundtrip.t
xt/git-http-backend.t
xt/git_async_cmp.t
xt/httpd-async-stream.t