Captive portal: better detect empty responses

The captive portal detection logic treats empty http responses with a
Content-Length of 0 as not coming from a portal.

However when the Content-Length is missing from the response header, the
empty response is not detected as such and is classified as a captive
portal answer.

When this happens for the http probe, the portal detection logic will
short circuit the detection and wrongly report a portal. The system
validates the network in such conditions only if the https probe
returns a successful connection faster than the http probe.

This patch attempts to better detect empty responses by trying to read
the first byte from the response body when the Content-Length is missing
for 200 responses.

Test: build, flashed + manual tests.
Bug: 33498325

(cherry picked from commit cb4aa4d412c7940386df9b8dd681e0d2efebfd1d)

Change-Id: Ibb9914cba72a4dab3ae76746d8889bbf083be812
1 file changed