sink, source: Assign to reference_volume from only one place

Forcing all reference volume changes to go through
set_reference_volume_internal() makes it easier to check where the
reference volume is changed, and it also allows us to have only one
place where notifications for changed reference volume are sent.
sink-input, source-output: Assign to volume from only one place

Forcing all volume changes to go through set_volume_internal() makes
it easier to check where the stream volume is changed, and it also
allows us to have only one place where notifications for changed
volume are sent.
sink, source: Add hooks for volume changes
sink-input, source-output: Add hooks for volume changes
fixup! tizen-volume-api: add ext volume api and module
fixup! tizen-volume-api: add support for pactl