allow header field value of "0"

'0' is a valid value for headers, such as content-length
fixing previous, allow arrays for header values
re-adding test, fixing empty string test on arrays
allow header field value of "0"

'0' is a valid value for headers, such as content-length
fixing previous, allow arrays for header values
re-adding test, fixing empty string test on arrays
#6907 - performance optimizations, simplifying loop logic, avoiding eager `is_array()` calls
Merge branch 'hotfix/#6907-allow-0-valued-headers'

Close #6907