audioservice: fix persistency for volume per attributes

Volumes can be set by stream or attributes. Attributes based API
does neither uses a cache nor persistent storage.
So, settings are not persistent, shared among user and in case of
audioserver crash, the volume indexes are lost at lower layer.

This CL aligns the volume per attributes API on stream based API by
   -using a local cache of indexes
   -using Settings persistent storage
   -forcing refresh on audioserver crash
   -allowing mutliuser settings

It also provides dump and log to align level of service for attributes
based volume API.

Bug: 147208571
Test: -change user && dumpsys audio && dumpsys settings
    -killall audioserver && dumpsys audio && dumpsys media.audio_policy
Signed-off-by: François Gaffie <francois.gaffie@renault.com>

Change-Id: I042b13f0588b2ae3f88fa9f8d72d0f0c99e5b850
2 files changed