alsa_sound: Subsystem Restart Changes

 - Add new member variable to indicate Subsystem Restart(SSR)
   in HAL
 - For PCM playback/capture SSR usecase, wait for WRITE/READ to
   return EIO error and then re-open PCM handle as part of recovery.
 - For Tunnel mode playback SSR usecase, EOS is sent to Media
   player on SSR which in turn calls destructor for ongoing tunnel
   session.
 - Modify device switch to handle SSR case. Device switch is called
   for same device as previous for SSR case to re-apply AMIX
   controls. Reason for this is codec reset called as part ADSP SSR
   handling which invalidates AMIX controls for current usecase.

Change-Id: I9e1727c481c57d0218b3fb3cf2fbfb42952203e7
audio-caf: allow targets to toggle QCOM_COMPRESSED_AUDIO_ENABLED flag

Flag forces libalsa to pull compressed audio defines from kernel headers
(in lieu of libalsa-intf/alsa_audio.h)
Change-Id: Ie52a0fc4b512beacca9e5bdd3aeb49bf356f1490
Merge remote-tracking branch 'cm/cm-10.1' into cm-10.1
fix VOIP calls