daemon/http: improve handling of stream errors
The on_frame_recv() callback ins't guaranteed to be called by nghttp2. This can happen e.g. in a case when nghttp2 issues a PROTOCOL_ERROR RST_STREAM frame. Previously, it would leave the connection in a stream-processing state, making it completely useless.
While this guarantees a cleanup will be called eventually, some streams may still get ignored due to the order of various callbacks and data processing procedures. Still, it's better than the previous implementation.