1. Move WriteHeader() after setting response headers. In Go's
http.ResponseWriter, headers set after WriteHeader() are silently
ignored, which caused all backend response headers (Content-Type,
Cache-Control, etc.) to be lost during HLS proxying.
2. Fix double ampersand (&&) in m3u8 ts URL rewriting. When the
original ts URL already contains query parameters, the proxy
generated malformed URLs like ".ts?spbhid=xxx&&token=abc"
instead of ".ts?spbhid=xxx&token=abc".