Telephony: Read IMSI using SIM I/O for CSIM/RUIM

Use Sim I/O command to read the EF_IMSIM to retrieve the IMSI
from the card, rather than using CommandsInterface.getIMSIForApp.
When both SIM and RUIM app exists, we cannot specify the
application for which we should retrieve the IMSI using the getIMSI
API, since SIM and RUIM have no AID.

Change-Id: I905d4a271dfba168f2bc3830b8a50733cbe17f8c
CRs-fixed: 514270
Telephony: Delay SIM IO until SIM_READY

When SIM_REFRESH with SIM_INIT is received we need to
reread EFs but only if and when app is ready.

Change-Id: Iae4b52839f64c61f962e7d9da1545656dc219266
Do not update External state until we receive card status.

When updateExternalState is called before card state is received
from RIL, unwanted ABSENT state is getting broadcasted to
external apps incase of property apm_sim_not_pwdn is  set to 1.

So do not broadcast card state to external apps until we
receive card status from RIL atlease once.

CRs-Fixed: 520485
Change-Id: I8803360dd57055ca3534b6dc7bade63ff629c730
SamsungQualcommRIL: fix handoff for good.

OperatorCheck: Add last known of good config when the array is null.
When the radio reset, it calls data connect. This fixes cases where
data is null because of this issue and causes apn to be null out.

Change-Id: Ic8e1d22f56db77ef698d3a89ecf27d30a7a2ddd8
Merge remote-tracking branch 'cm/cm-10.2' into HEAD
Merge "Telephony: Read IMSI using SIM I/O for CSIM/RUIM" into cm-10.2
Merge "Do not update External state until we receive card status." into cm-10.2
Merge "Telephony: Delay SIM IO until SIM_READY" into cm-10.2
Merge remote-tracking branch 'cm/cm-10.2' into HEAD
Telephony: check if the provisioning apn is actually empty before

checking if they are equal. fixes cases where the stubbed apn
(empty) equal to the the empty provisioning apn.

Change-Id: I6ca4fd172e2ecc64ca7a2c3fbca5327be61e7b5c
Merge branch 'cm' into HEAD
Merge https://github.com/VanirAOSP/android_frameworks_opt_telephony