hal: Don't mess with primary output

Change-Id: I056993a0e9197549c7e011d9d27a027a6a666892
hal: add support for I2S based external modem

There are specific xml files used for I2S based external modem.
Add check to load the correct xml file.

For I2S based external modem, voice sample rate can be 8k or
16k based on vocoder type. Call csd client api to get the
correct sample rate to configure voice call.

Change-Id: Ie9799336620f49a890355be74fe1830eb348cabe
hal: load CSD library by checking number of modems

The method to get baseband through property will be deprecated.

Call ESOC API to get the number of modems within the platform.
Use the number of modems instead of baseband to decide whether
CSD library should be loaded.

Change-Id: I470616a6ce833a368783bba9442285a69491cbac
hal: Featurize use of mdm_detect library

 * Only certain targets need this, and there are non-OSS dependencies.
 * Featurize it so it can be used where necessary.

Change-Id: I490cc9d2d5b5b7e18192d54e912afcad2fce254d
hal: Update msm8916 library with new feature support

Change-Id: I728154c2c01650ea88b994b0ad73711694c64070
audio: msm8660: add presto audio.

Import audio from presto repo, because the local module don't build.

Change-Id: I58418fd4a5aa39302e24a78cb35be76f7902801c
presto: audio: fix error

Change-Id: I6ecf222eeb42efcba45bb2639f0d97b7706fd188
presto: audio: define PRESTO_AUDIO

Change-Id: Ie801771f7409dfb4215c99656482623c6e419c0e
Revert "presto: audio: define PRESTO_AUDIO"

This reverts commit f16f3eca14407c6f4b3987b6d9b3717df8894f17.

Change-Id: Ic091b85c661cb64ddef887131a8cde1e5a076801