audio: Make stream-changed correctly handle tee setup

For the purposes of this event we consider the outputs sink the final element.
If we don't do this we would get one event per branch, and we don't want to
track when each of them actually switches any way. So just tracking when the
tee/outputs bin gets the event is good enough for us.

As part of this I've also added 'testoutput' as a special cased output value.
This is now needed as outputs are always synced to the clock, making testing
a lot less practical.
audio: Move most of event handling out of audio.

Some of the signal handling still needs to be moved.
audio: s/Triggering/Audio event/
audio: Resolve review comments
Merge branch 'develop' into feature/audio-message-handler
docs: Update changelog with audio changes
audio: Split message/event teardown handler
Merge pull request #826 from adamcik/feature/audio-message-handler

Refactor message handling in audio