hal: Add speaker backend case handling

* Some devices route their speakers through a different backend. Allow
  speaker use cases to be routed separately in this case.

Change-Id: I6bcaa4a0b72d2fc60ae02d4f49cfca0fdb55405f
Revert "audio: primary desc check for sonification"

 * Handled in libhardware_legacy now.

This reverts commit 01f7fcc7694b23b07c59de6c786ae5c3e715d212.
hal: Update BT sample rate for BT input device

-BT sample rate should be set before opening BT SCO output
 or input device. Currently it is set only for output device.
-Set sample rate for BT SCO input device also

Change-Id: I356557a727f5946ff3b4eb89ea16e4c16d84d21c
audio: use of audio_route_{apply/reset}_and_update_path APIs

1) Update enable/disable device and route to use the new APIs.
   With this change, mixer controls will be updated in the order
   listed in mixer paths XML file.
2) update_mixer is now an unused var.

Change-Id: Ic0a8874e4a2080347cfa0c2e66af606a08a207a7
CRs-Fixed: 581453
Revert "Revert "audio: primary desc check for sonification""

 * Voodoo. Sort this out later.

This reverts commit aef8ce5477cdf0c9117c8be7e9eb250326cad204.
Merge pull request #3 from CyanogenMod/cm-11.0

cm-11.0