kns: do not force finish streams that aren't finished
it breaks result streaming. specifically what happened is that the new kns resultstream tech introduces some delays in the event processing so results arrive a couple loop cycles later than previously which meant they would arrive after the (discover-side) stream was already finished and as such the results just got ignored.
stop finishing streams early. should the backend turn out invalid we'll finish the stream then (pre-existing code).