Allow content for GET, etc., but don't set headers on empty content

This is 'take 2' for the fix related to empty content string.  Because
the spec doesn't prohibit content bodies on any method except TRACE,
we should allow it.

Instead, we'll just be careful not to generate headers if the content
is the empty string.