Return null on missing Host: header

Breaking change; if X-Forwarded-Host: is present but empty, it will no
longer fall back to Host: