bluetooth: Extend transport state with 'configuring'
bluetooth: Update to new BlueZ 5 transport acquire/release API

The new D-Bus API doesn't support access rights, which weren't used by
PulseAudio anyway, but it does solve a race condition: now optional
acquires can be implemented by bluetooth-util atomically using the D-Bus
TryAcquire() method.
bluetooth: Support transport auto-release

With BlueZ 5, if the remote device suspends the audio, the transport
state will change to "idle" and the endpoint is not required to release
the transport, since this could introduce race conditions. Therefore,
ignore the call to pa_bluetooth_transport_release() if the transport is
not acquired any more.
bluetooth: Update to new property setter API in BlueZ 5

If BlueZ 5 is in use, the standard org.freedesktop.DBus.Properties needs
to be used instead of the old SetProperty() method.
bluetooth: Update to volume control in BlueZ 5

In BlueZ 5, the microphone and speaker gains are exposed as properties
of the MediaTransport1 interface.
bluetooth: Split headset ports

Logically revert 40329acc1a28145643e49207e9d65cd05bbda2c8 to avoid
an issue with shared ports already existing when a late UUID is
announced.