Fix parsing of a message body

A message body was parsed with the same macros used for parsing HTTP headers.
One of major obstacles was that there could be zero-value bytes in the body,
while that couldn't happen in headers. That didn't allow parsing of a message
body. This commit introduces lighter versions of those macros that are used
in parsing of a message body.