Init: Start Update Engine at startup

Also related AU Fixes:

- daemonize() for upstart

- remember success in updating across runs of the process.

- bug fixes: don't try to update if an update is in progress, clear
  actions out in Update Attempter when updating is complete.

BUG=None
TEST=on device testing

Review URL: http://codereview.chromium.org/2055008
diff --git a/update_attempter.h b/update_attempter.h
index 76fe3fb..9d69403 100644
--- a/update_attempter.h
+++ b/update_attempter.h
@@ -18,6 +18,8 @@
 
 namespace chromeos_update_engine {
 
+extern const char* kUpdateCompletedMarker;
+
 enum UpdateStatus {
   UPDATE_STATUS_IDLE = 0,
   UPDATE_STATUS_CHECKING_FOR_UPDATE,
@@ -42,6 +44,8 @@
                       new_size_(0) {
     last_notify_time_.tv_sec = 0;
     last_notify_time_.tv_nsec = 0;
+    if (utils::FileExists(kUpdateCompletedMarker))
+      status_ = UPDATE_STATUS_UPDATED_NEED_REBOOT;
   }
   void Update(bool force_full_update);