DataConnection should not retry permanent errors.

Update DcFailCause with the "no retry" info from ril.h

Bug: 9040015
Change-Id: Ib94af9996c79800322251a45349b117e1f913269
Restart, cleanup or retry inactve connections.

Instead of retrying all inactive connections, restart radio on very bad
errors, clean those that are permanent failures and retry
the others.

Bug: 10131736
Change-Id: I2527b18d6cda52c55fb94be58fbb1a7a86818ef9
Add mEnableFailFastRefCounter.

Use a reference counter to control enabling fail fast
as there are now two entities which control failing fast:
ConnectifityService.checkProvisioningUrl and
MobileDataStateTracker.captivePortalCheckComplete.

Bug: 9462512
Change-Id: I0dea0eee519f8ee7f94e79d40e82c18f30d7fe2e
Make EnableFailFastRefCounter a singleton.

Since there is only one DCT the mEnableFailFastRefCounter can be a
static/singleton and thus properly refcount the
CMD_SET_ENABLE_FAIL_FAST_MOBILE_DATA. There is still one problem
and that is if the PhoneApp crashes the singleton will be reinstantiated
and we'll have the same problem, but the frequency of this is small.
Also, the consequence of this is the DCT will be behaving "normally"
in that it will be attempting to do data-stall recovery although we
might like it not to it is the "normal" behavior.

Bug: 10304904
Change-Id: I4197c4236a402aa247f775e480e747620fd189bd
Add support for a provisioning apn.

When there is a provisioning apn, such as lwaactivate from AT&T it is
not necessary nor desireble to try to make network connections as
they will be no TCP ACK's to SYN messages, except for a limited set
of operator white listed addresses.

This is implemented by adding two commands CMD_IS_PRVISIONING_APN
and CMD_ENABLE_MOBILE_PROVISIONING. These are used by ConnectivityService
CheckMp and to know when we are connected to a provisioning apn and to
turn actually bring up the connection when the user needs to provision.

Also, incorporate the sEnableFailFastRefCounter change from klp to make
a singleton and remove the RuntimeException.

Bug: 10328264
Change-Id: I3925004011bb1243793c4c1b963d923dc2b00cb5
HTCTegra3RIL: Add custom RIL for correct STK handling (1/2)

Change-Id: Ia12c85f43b5be0fe4e1cd3c3511490fd5cebe3af
Telephony: Decode SPN from RuimRecords properly

To address issues with incorrect encoding scheme programmed
in some commercial CSIM cards, the decoded SPN is checked to
have characters in printable ASCII range. If not, they are
decoded with ENCODING_GSM_7BIT_ALPHABET scheme.

Change-Id: I5ae06e0d3df5a3b5b080cc6e69a73daaff92cb10
GsmSST: Disregard any invalid verbose values for timezones in NITZ requests

And assume anything resulting in "GMT" is invalid, since that's the
default value returned by libcore

Change-Id: I361650400e71976d8327ee3929947ca26a9eff57
Merge "Telephony: Decode SPN from RuimRecords properly" into cm-10.2
Merge tag 'android-4.3_r3.1' of https://android.googlesource.com/platform/frameworks/opt/telephony into cm-10.2

Android 4.3 Release 3.1
Merge "HTCTegra3RIL: Add custom RIL for correct STK handling (1/2)" into cm-10.2
Merge "GsmSST: Disregard any invalid verbose values for timezones in NITZ requests" into cm-10.2
GsmSS: Use data tech in isConcurrentVoiceAndDataAllowed

Voice technology is not properly supported in older RILs

When using RIL blobs, the value would be set to UNKNOWN,
resulting in data being disconnecting during call despite
being on 3G.

When using source-built RIL, the value would be set to
UMTS regardless of 2G/3G status. (At least from reading
the source.)

Change-Id: I12738abc1736165e92aa7f4530ca043cc1acc44d
Merge "GsmSS: Use data tech in isConcurrentVoiceAndDataAllowed" into cm-10.2
Merge remote-tracking branch 'upstream/cm-10.2' into cm-10.2

Conflicts:
	src/java/com/android/internal/telephony/dataconnection/DcTracker.java