shill: Save ephemeral profile when GSM cellular network connects

Normally, a service is saved when an IP address is
assigned to a network.  However, in the case of GSM, when the
network connects (but before an IP address is assigned), the
APN needs to be saved.  This was causing crashes because the
save function was being performed on the ephemeral profile,
which does not have a backing store.  This change saves the
service to the current profile (which has a backing store).

BUG=chromium-os:29981
TEST=manual.  Log in.  Ensure there is no cellular network in
~chronos/shill/shill.profile.  Attempt to connect to the
a GSM (T-Mobile) network.  Verify that shill does not crash
and that the cellular network has an entry in
~chronos/shill/shill.profile.

Change-Id: Ib14c80cc08598841629a3a1a3e96739b30297aa6
Reviewed-on: https://gerrit.chromium.org/gerrit/21350
Commit-Ready: Gary Morain <gmorain@chromium.org>
Reviewed-by: Gary Morain <gmorain@chromium.org>
Tested-by: Gary Morain <gmorain@chromium.org>
diff --git a/service.h b/service.h
index bae13bc..90c960a 100644
--- a/service.h
+++ b/service.h
@@ -218,7 +218,7 @@
   virtual bool Save(StoreInterface *storage);
 
   // Saves the service to the current profile.
-  virtual bool SaveToCurrentProfile();
+  virtual void SaveToCurrentProfile();
 
   // Applies all the properties in |args| to this service object's mutable
   // store, except for those in parameters_ignored_for_configure_.