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/update_attempter.cc b/update_attempter.cc
index 5cf32e4..014f822 100644
--- a/update_attempter.cc
+++ b/update_attempter.cc
@@ -114,7 +114,8 @@
   return code;
 }
 
-void UpdateAttempter::Update() {
+void UpdateAttempter::Update(const std::string& app_version,
+                             const std::string& omaha_url) {
   if (status_ == UPDATE_STATUS_UPDATED_NEED_REBOOT) {
     LOG(INFO) << "Not updating b/c we already updated and we're waiting for "
               << "reboot";
@@ -124,7 +125,7 @@
     // Update in progress. Do nothing
     return;
   }
-  if (!omaha_request_params_.Init()) {
+  if (!omaha_request_params_.Init(app_version, omaha_url)) {
     LOG(ERROR) << "Unable to initialize Omaha request device params.";
     return;
   }
@@ -210,13 +211,14 @@
   processor_.StartProcessing();
 }
 
-void UpdateAttempter::CheckForUpdate() {
+void UpdateAttempter::CheckForUpdate(const std::string& app_version,
+                                     const std::string& omaha_url) {
   if (status_ != UPDATE_STATUS_IDLE) {
     LOG(INFO) << "Check for update requested, but status is "
               << UpdateStatusToString(status_) << ", so not checking.";
     return;
   }
-  Update();
+  Update(app_version, omaha_url);
 }
 
 // Delegate methods: