Always return content => '' for empty response bodies

Previously, streamed responses returned content => undef, which leads to inconsistent results in tests when middleware is changed (e.g. P:M:AccessLog switched to ::Timed).