tunnel-manager: New module for managing tunnels to remote servers

Currently the module only supports creating tunnels for all devices in
the system instance, which is useful for implementing the "cascaded
setup" (user instances running on top of the system instance). In the
future it should be configurable which remote server(s) and which
devices to use.

Change-Id: I3d41936451572b6341cfb9717e07b355d8449490
packaging: Install module-system-instance-proxy.so

Change-Id: I0502677165496449db85569f985de1a317f781b1
systemd: Disable TCP socket activation for user instances

The TCP port can be listened by only one process, so if the system
instance listens it, then user instances can't listen. Or if there
are multiple users, only one can listen.

Since systemd uses an "all or nothing" approach, the unix socket
activation doesn't work either when the TCP socket fails. It's not
terribly important to have TCP socket activation (at least at this
point), so let's just drop it from user instances.

Change-Id: I6258ee9c7a5ae7de4dcee209440de2df7a779e1d
Add configuration for the "cascaded setup"

If cascaded.pa is installed, then hardware should be managed by the
system instance, and user instances should use the hardware via the
system instance.

Change-Id: I6879bbcb50e131941c75b8c91a11e098d07428e5
Add systemd service and socket files for the system mode

Change-Id: If3783b3a86108dd968911613f5f63693cb5161c6
packaging: Add the pulseaudio-cascaded-setup package

Change-Id: I1a1504ac2496af127557c5d45f64fef4c284cdc6
system.pa: Load module-switch-on-port-available

Change-Id: I5067ad68f3c8bade0fbef3efc1e37b364b55a11e