base, bridge: Implement new http-stream1 channel payload

Implement a new payload called 'http-stream1' which makes an
HTTP request. The channel encapsulates one HTTP request.
Various options accompany the "open" control message. The
first payload message is the response headers.

Add a new cockpit.http() API as well
docker: Add docker.json_skip() function

This lets us separate a JSON stream into blocks using javascript
similar to what the cockpit_json_skip() C function does.

This is currently Docker specific, since I don't know of any other
code that does silly things like sending invalid JSON data but
still treating it as application/json.

But that may change in the future, silly things abound. So then we
might move this code into cockpit.js.
shell: Port the docker code to use cockpit.http()

And stop using rest-json1 payload.
bridge, shell: Remove the old rest-json1 code

Closes #1519