Fix and speedup
@tim.schoof Fix a few small points, which may speedup to run across streams.
- Check number of unacknowledged messages before closing stream only if receiver will retry.
- Starting stream first, because it may take time.
- Try to set starting position only if worker have corresponding method
- Set stream before call set_starting_position (this was a bug)