StreamSound error: fixed, was caused by 'repeat' logic.

Playback repeat logic inside SSoundSource::update() function was misplaced.
The idea itself was wrong, and playback repeat handling was moved one level up,
into the SoundManager. More details can be found in MantisBT issue #355.

These changes make the restart "dead-time" between playbacks longer.
If a playlist is created containing a single, looping sound with no silent time
(like the water sound of the current fading_tests test) then the transition
between loops can be noticed.
In such scenarios direct use of the SoundManager is recommended. Check "NOTE"
in lines 418-422 of src/tools/tests/sound/fading_tests/SoundTest.cpp
in this commit.