Refactor SMS Middleware and SMS Send path.

Introduce a new Broadcast, ACTION_NEW_OUTGOING_SMS, that is similar to the existing call
equivalent ACTION_NEW_OUTGOING_CALL. This allows a receiver to rewrite the intent
or cancel it entirely.

This removes the need for injecting middleware.

Change-Id: I063288461161979f951932f32ade2cfbd72f8b73

Conflicts:

	src/java/com/android/internal/telephony/IccSmsInterfaceManager.java
	src/java/com/android/internal/telephony/IccSmsInterfaceManagerProxy.java
SMS Broadcast result receiver fix:
Fix bug where sentIntents is pulled from the wrong bundle key.

Change-Id: I306be0aeeda07e065702ca30edc3818ae9be4e26
Fix NRE on sending multipart texts.

Watch for deliveryIntents, parts, and sentIntents being null.

Change-Id: Ib9e55b59ef92d0f6057ec2e8c93dcb95d68a612d

Conflicts:

	src/java/com/android/internal/telephony/IccSmsInterfaceManagerProxy.java