- reset backend_source before backend_drain; first tell the backend we
are not interested in data anymore, then force closing the outgoing
- as backend_drain might get reopened for a Connection: upgrade, the
backend cannot rely on backend_drain->out.is_closed, but waits for a
disconnect (which will also release the last reference). the same is
done for backend_source, so a backend can just wait for both reference
counts to drop to zero before actually closing the backend connection
(unless it keeps the streams alive itself).