AU: Always run setgoodkernel, unless we abort within 45 seconds of launch.

This addresses a bug in the updater. Previously, we ran setgoodkernel
within 45 seconds of boot, unless an update was running or completed
successfully (thus requiring us to reboot). This change keeps the
indended behavior of running within 45 seconds of boot, but prevents
updating from interfering.

BUG=chromium-os:14280
TEST=tested on device

Change-Id: Ib6a8978835a68440d671785577abccdc5856ef1d

Review URL: http://codereview.chromium.org/6881037
diff --git a/update_attempter.h b/update_attempter.h
index e41cab9..8a0bd26 100644
--- a/update_attempter.h
+++ b/update_attempter.h
@@ -84,6 +84,10 @@
                  std::string* new_version,
                  int64_t* new_size);
 
+  // Runs setgoodkernel, whose responsibility it is to mark the currently
+  // booted partition has high priority/permanent/etc.
+  void UpdateBootFlags();
+
   UpdateStatus status() const { return status_; }
 
   int http_response_code() const { return http_response_code_; }
@@ -240,6 +244,9 @@
   DirectProxyResolver direct_proxy_resolver_;
   ChromeBrowserProxyResolver chrome_proxy_resolver_;
 
+  // True if UpdateBootFlags has already been called
+  bool updated_boot_flags_;
+
   DISALLOW_COPY_AND_ASSIGN(UpdateAttempter);
 };