update_engine: Reset forced update flag before sending Omaha ping

Lack of resetting the forced update flag causes
InteractiveUpdatePolicyImpl to always return true for (non-)interactive
updates and this can cause the update check to fall into an infinite
loop because the policy will never reach to
NextUpdateCheckTimePolicyImpl:

CheckForUpdate -> ScheduleUpdates -> OnUpdateScheduled -> Update ->
PingOmaha -> ScheduleUpdates

BUG=chromium:960828
TEST=unitest
TEST=updated device using this flow:
- update_engine_client --interactive=false --update
- wait till the state changed to wait_reboot
- update_engine_client --interactive=false --update
and no infinite loop was entered.

Change-Id: Ie8f8308d8af79f56cd71324bcb8679897f6823e7
Reviewed-on: https://chromium-review.googlesource.com/1666252
Tested-by: Amin Hassani <ahassani@chromium.org>
Commit-Ready: Amin Hassani <ahassani@chromium.org>
Legacy-Commit-Queue: Commit Bot <commit-bot@chromium.org>
Reviewed-by: Sen Jiang <senj@chromium.org>
diff --git a/update_attempter.h b/update_attempter.h
index 59c9686..c429076 100644
--- a/update_attempter.h
+++ b/update_attempter.h
@@ -417,6 +417,9 @@
   // will only be reported for enterprise enrolled devices.
   void ReportTimeToUpdateAppliedMetric();
 
+  // Resets interactivity and forced update flags.
+  void ResetInteractivityFlags();
+
   // Last status notification timestamp used for throttling. Use monotonic
   // TimeTicks to ensure that notifications are sent even if the system clock is
   // set back in the middle of an update.