Add support to update_engine_client for -app_version and -omaha_url.

These options prevent auto-detection of these parameters.
Note that this CL makes the check_for_update DBus method obsolete from
the client's point of view.

BUG=4593
TEST=unit tests, gmerged on device and tried the client with different options.

Review URL: http://codereview.chromium.org/3048008
diff --git a/dbus_service.cc b/dbus_service.cc
index 12398cd..54dde41 100644
--- a/dbus_service.cc
+++ b/dbus_service.cc
@@ -21,7 +21,7 @@
   GObjectClass *object_class;
   object_class = G_OBJECT_CLASS(klass);
   object_class->finalize = update_engine_service_finalize;
-  
+
   status_update_signal = g_signal_new(
       "status_update",
       G_OBJECT_CLASS_TYPE(klass),
@@ -56,21 +56,33 @@
                                           GError **error) {
   string current_op;
   string new_version_str;
-  
+
   CHECK(self->update_attempter_->GetStatus(last_checked_time,
                                            progress,
                                            &current_op,
                                            &new_version_str,
                                            new_size));
-  
+
   *current_operation = strdup(current_op.c_str());
   *new_version = strdup(new_version_str.c_str());
   return TRUE;
 }
 
+gboolean update_engine_service_attempt_update(UpdateEngineService* self,
+                                              gchar* app_version,
+                                              gchar* omaha_url,
+                                              GError **error) {
+  const string update_app_version = app_version ? app_version : "";
+  const string update_omaha_url = omaha_url ? omaha_url : "";
+  LOG(INFO) << "Attempt update: app_version=\"" << update_app_version << "\" "
+            << "omaha_url=\"" << update_omaha_url << "\"";
+  self->update_attempter_->CheckForUpdate(app_version, omaha_url);
+  return TRUE;
+}
+
 gboolean update_engine_service_check_for_update(UpdateEngineService* self,
                                                 GError **error) {
-  self->update_attempter_->CheckForUpdate();
+  self->update_attempter_->CheckForUpdate("", "");
   return TRUE;
 }