Telephony: Introduce DataProfile base class

DataProfile is a base class from which we derive ApnSetting.
This can be extended for other classes of DataProfiles.

Change-Id: I34f78ac22c82446bb74f538899d637656e0134ca

Conflicts:
	src/java/com/android/internal/telephony/dataconnection/DcTracker.java
Telephony: Enable OMH support in Android Telephony

Support the Open Mobile Handset initative in android telephony. As per
the OMH specification in 3GPP2, Data profiles defined for specific
services like LBS, TETHERED and UNSPECIFIED are defined in the
RUIM/CSIM cards. These profiles are read from the android telephony
and used for creating the data calls when the right radio technology
(CDMA/DO) is used and when the feature is enabled.

* Supports multiple profiles for a particular OMH service type

* Supports multiple OMH profiles with same priority

* In case of OMH, for all profiles supporting SUPL, arbitration
should choose the lowest priority profile when making data calls

* This feature supports the co-existance of other radio technologies in
an OMH enabled device. Even with the OMH feature enabled, the device
can operate with default profiles when OMH profiles are not (yet)
present.

* Use PROFILE_TYPE_CDMA if no suitable PROFILE_TYPE_OMH available

Change-Id: I36adadfa5be42328fc3cb240626589ddde5fdb26

Conflicts:
	src/java/com/android/internal/telephony/CommandsInterface.java
	src/java/com/android/internal/telephony/RIL.java
	src/java/com/android/internal/telephony/cdma/CDMAPhone.java
	src/java/com/android/internal/telephony/dataconnection/DcTracker.java
	src/java/com/android/internal/telephony/test/SimulatedCommands.java
Telephony: bring back Slim changes
Fix build