Bluetooth: Support  HFP Client role on Bluedroid.

Implementation changes in BTA and BTIF layer to support
HFP Client role on Bluedroid stack.

Change-Id: Ia1af01c19326cac326da9b4eb1f845f0d82b3c0c
Bluetooth: Update key map table with Fast Forward .

Changes done to handle Fast Forward command from
remote headset.

Change-Id: I03847779a9c583f70fc462f04058385dfbdbc8cb
CRs-Fixed: 546347
Bluetooth: Synchronise A2dp HAL and Btif state.

During Remote initiate start stream, A2dp HAL and
Btif states are not in sync, Audio HAL in Suspend
and Btif in Start state hence Audio HAL cannot send
Suspend command.
Change is made to synchronise A2DP HAL and Btif
State by sending a CHECK_STREAM_Ready Command.

CRs-Fixed: 549210

Change-Id: I5da46c433ec44b94afc4151facc0894fcb88759a
Bluetooth: Restarting PM timer during incoming rfcomm data.

During incoming rfcomm data, we were setting the pm mode to
active, thereby stopping timer and never restarting it again.
So Dut was never going to sniff , if the last packet is incoming
packet. Therefore add change to restart the PM timer during incoming
data.

CRs-fixed: 545711

Change-Id: I4396bb2f267b12cb92a944c15609ddeaa13288ad
Merge "Bluetooth: Synchronise A2dp HAL and Btif state."
Merge "Bluetooth: Restarting PM timer during incoming rfcomm data."
Merge "Bluetooth: Support  HFP Client role on Bluedroid."
Merge "Bluetooth: Update key map table with Fast Forward ."
Merge branch 'jb_mr2' of git://codeaurora.org/platform/external/bluetooth/bluedroid into cm-10.2
Merge remote-tracking branch 'cm/cm-10.2' into jb-4.3