AudioService: async volume updates from DeviceInventory

Make VolumeStreamState private to AudioService, and don't let
  AudioDeviceBroker, AudioDeviceInventory manipulate it. Only
  let them post messages on AudioService message handler to
  access them.
Refactor methods to set a volume index and observe devices
  from AudioDeviceInventory to AudioService to be asynchronous.

Bug: 130686447
Bug: 129163231
Test: verify volume is last used when connecting A2DP or hearing aid
Change-Id: I356af79213f4c21ed4ebaf86922fbbd9bf48a892
4 files changed