Add SMS Middleware layer.

SMS Broadcast result receiver fix:
Fix bug where sentIntents is pulled from the wrong bundle key.

Change-Id: I306be0aeeda07e065702ca30edc3818ae9be4e26
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
Add SMS Middleware layer.

Change-Id: I4fff0c584f8fce9c5f2f4fe86a82fe6480c307c7