Fix SST stream servicing.
Fix SST stream servicing.

Fix SST stream servicing to correctly trigger servicing with a
timeout in the case that serviceStream is invoked but no
additional packets are sent, i.e. if there isn't enough space in
the window for the next packet.

When scheduling the timeout, instead of always using 2*RTT from
the current time, compute the correct timeout taking into account
already elapsed time. This doesn't affect correctness, but makes
things faster since its a strictly earlier timeout.

Improve performance by only triggering servicing when it can
actually have an effect, i.e. if the packet was pushed into an
empty queue. Otherwise we're just wasting effort since we would
otherwise just be cancelling the timer.

sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata,sirikata/sirikata