Bug 933654 - 1/3: refactor amodem_send.

The original amodem_send returns the reply string of a AT command,
and then ModemDriver determines whether the modem is now waiting for
SMS by comparing that string to '> '.  However, as we're to enable
unsolicited responses after the reply, such method is no longer
effective and could be error prone.

This patch moves all reply handling into android_modem.c and returns
and modem->waiting_sms in the end of amodem_send().
Bug 933654 - 2/3: allow extra unsolicited responses.

For AT command handlers, returning NULL was a convenient alias for
asking amodem_send() to reply "OK" for them.  To allow extra
unsolicited responses after the original reply, there must be some
way to notify amodem_send() that the reply has been sent and don't
bother appending another "OK".  There are also cases that return an
empty string ("", not NULL).  The NULL value then becomes the best
choice in both literal and semantic way.
Bug 933654 - 3/3: perform voice/data registration state change in handleRadioPower.
Merge remote-tracking branch 'b2g/master' into b2g-jellybean