shill: Accept --portal-list command line option

This option is used from the init scripts to override the startup
value of the portal list.  This is not meant to override the profile
value, but simply to mask that value until the user has completed
OOBE.

BUG=chromium-os:28424
TEST=New unit tests, plus manual:
 - Reboot -- test that system starts up with machine default
   (get-portal-list => ethernet,wifi,cellular)
 - rm /home/chronos/.oobe_completed
 - Restart shill and test that get-portal-list => ""
 - Run "set-portal-list wifi,ethernet,cellular", and ensure we can read
   this back.
 - Reboot (on test machines, this repopulates .oobe_completed on boot)
   ensure that we return to the profile-stored value.

Change-Id: I8c6427d89087d6e8a611e407b93e4082300ddf03
Reviewed-on: https://gerrit.chromium.org/gerrit/21295
Reviewed-by: mukesh agrawal <quiche@chromium.org>
Tested-by: Paul Stewart <pstew@chromium.org>
Commit-Ready: Brian Harring <ferringb@chromium.org>
diff --git a/shill_daemon.cc b/shill_daemon.cc
index ce125fc..5cde0d1 100644
--- a/shill_daemon.cc
+++ b/shill_daemon.cc
@@ -48,6 +48,10 @@
   manager_->AddDeviceToBlackList(device_name);
 }
 
+void Daemon::SetStartupPortalList(const string &portal_list) {
+  manager_->SetStartupPortalList(portal_list);
+}
+
 void Daemon::SetStartupProfiles(const vector<string> &profile_name_list) {
   Error error;
   manager_->set_startup_profiles(profile_name_list);