direction: Add a couple of direction helper functions
core-util: Add pa_join()
device-port: Add pa_device_port.active

In the Tizen volume API, I create and delete volume control objects
for ports based on their state (only active ports have volume
controls). Having the pa_device_port.active flag directly accessible
is much nicer than figuring out the state by iterating through sinks
and checking what their active port is. It's also safer to get a
notification for a deactivated port before the port switch is
executed, compared to using the SINK_PORT_CHANGED hook that is fired
only after the port switch is complete.
dynarray: Add pa_dynarray_get_raw_array()
hashmap: Add pa_hashmap_remove_and_free()
sink, source: Add hooks for volume changes
fixup! tizen-volume-api: add ext volume api and module
fixup! tizen-volume-api: add support for pactl
New module: module-experimental-volume-policy

This module is not meant for production use, it's only a way for me to
test the Tizen volume API. The implemented policy is the following:

* A volume control is created for every sink. When sinks are added or
  removed, volume controls are added or removed correspondingly.
* When a volume control is created, it's set as the main input and
  output volume control. (Yes, using sink volume for main input volume
  is not a sensible policy. I'm not trying to create a sensible policy
  here.) If a volume control is deleted that is currently the main
  input/output volume control, the main input and output volume
  controls become unset.
* An audio group is created. It claims to be a "music" group, but in
  reality it has nothing to do with music. The group's volume control
  is always the same as the main output volume control.