shill: cellular: Implement CDMA activation over non-cellular.

Added OTASP activation logic over a non-cellular network to
CellularCapabilityUniversalCDMA.

BUG=chromium:221698,chromium:217324
TEST=1. Build and run unit tests.
     2. - Acquire an unactivated Gobi3k (this can be achieved on an
          activated modem by cancelling the account and factory
          resetting the modem).
        - Reimage the Chromebook (with the above Gobi3k) with an image
          which was compiled with 'USE="-gobi qmi"'.
        - If the carrier is not already set to Verizon Wireless, switch
          firmware to the Verizon firmware.
        - Verify that the modem supported by ModemManager and not cromo. The
          modem properties should be exposed and the CDMA
          ActivationState property should be 'not-activated'. All of this can
          be verified using mmcli.
        - The Chrome OS UI should display the cellular network as 'not
          activated'. Use the UI to activate the service.
        - Once payment is done, service should be marked as
          "Activating". /var/cache/shill/activating_iccid_store.profile
          should have a new entry under "[meid_list]" set to "1".
        - Monitor /var/log/net.log (with a debug scope of at least
          "cellular" and level "-3"). Cellular activation related
          messages should be logged. ModemManager should be in the
          process of "automatic activation" and logging appropriate
          updates.
        - The modem should eventually reset. Afterwards the UI should
          pop-up a "3G network activated" dialog.

Change-Id: Iff9d1b88012dad1d3552af12d9ae7f510a988a54
Reviewed-on: https://gerrit.chromium.org/gerrit/49696
Reviewed-by: Arman Uguray <armansito@chromium.org>
Commit-Queue: Arman Uguray <armansito@chromium.org>
Tested-by: Arman Uguray <armansito@chromium.org>
diff --git a/pending_activation_store.h b/pending_activation_store.h
index 633283b..f27af77 100644
--- a/pending_activation_store.h
+++ b/pending_activation_store.h
@@ -41,6 +41,9 @@
     // This state indicates that a timeout has expired in which the modem
     // failed to register to a network.
     kStatePendingTimeout,
+    // This state is used in CDMA activation to indicate that OTA activation
+    // failed and was scheduled for a retry.
+    kStateFailureRetry,
     kStateMax,
   };