Do not treat headers with empty values as undefined

Further reading of RFC 2616 does indicate that empty header values may
be valid in some cases. Do not treat such headers as undefined to
provide greater flexibility.
Adjust headers_test to fix failing test cases
Merge branch 'klm-strip-header-values-take2' into 1.5