system/core: Add MSM specific formats, devices and channels.

- Add support for MSM formats, devices and channels

Change-Id: I0f613e25ae7e5bafa126ab582551807711ab9db6
(cherry picked from commit 3535a5eafaa700ae58d44c43c4491f3fbb90e060)
(cherry picked from commit d725c0473b0c7f51d157b8722131ed7b45f878d7)
(cherry picked from commit 8d43d24d91e7bcc8daef40c6e9f99fd8dcd23266)
audio: Fix submix output device check.

-AUDIO_DEVICE_IN_FM_RX is incorrectly matched
 with AUDIO_DEVICE_OUT_REMOTE_SUBMIX because
 method audio_is_remote_submix_device is not
 checking for AUDIO_DEVICE_BIT_IN.

-Fix is to add AUDIO_DEVICE_BIT_IN while doing
 the check for AUDIO_DEVICE_OUT_REMOTE_SUBMIX.

CRs-Fixed: 566837

Change-Id: I47ca3bd151da848a444d4bcf83a56e866f20d4f7
(cherry picked from commit f8573b76d6c03e1a9eff34e093056a810f898509)
(cherry picked from commit ae982a488c68e0cd06622e7ee7a31fddb1f4d131)
audio: remove QCOM_FM_ENABLED ifdefs

* CM is using a different ifdef here that enables these by default.

Change-Id: I07249d1c3555446238d846901481b13634967aab
Add back DurationTimer to fix camera.msm8960 load

cannot locate symbol "_ZN7android13DurationTimer5startEv"

Change-Id: I29d3283b644c773e6d798d17b2ef139a470048da
audio: Expose a few things previously under QCOM_HARDWARE

 * Allow everyone to use a few of these device types without
   setting QCOM_HARDWARE. Currently there is qute a mess due
   to the way QC is handling branches, when we figure out a
   good solution this can be reverted.

Change-Id: I75447a21ad1cf26e9683d2eac488a1b1238e5adb
Fix the build for devices with ICS/MR0_AUDIO_BLOB

The previous commit only exposed AUDIO_DEVICE_IN_ANC_HEADSET
and AUDIO_DEVICE_IN_PROXY if not defining this.

Change-Id: I7b644bb022f32fd978a85e003a97cbf27a17c809