This change updates header parsing to match the behavior of net/http more closely.
**Breaking change**: headers delimited by `\n` (instead of `\r\n`) are no longer supported.
Previously, fasthttp accepted `\n` as a delimiter, which is not spec compliant.
This made it difficult to correctly parse headers containing both `\n` and `\r\n`.
When using caching fs shouldn't cause any allocations.
Only do []byte to string conversions when really needed. When a file is
already cached the conversion shouldn't be needed.
Fixes https://github.com/valyala/fasthttp/issues/2045