update_engine: UpdateAttempter manages lifetime of Excluder

Prior to adding the exclusion logic within various |Action|s, the
|UpdateAttempter| provides a way to access the |Excluder| encapsulated
within the |UpdateAttempter| singleton.

|PayloadState| uses |Excluder| from |UpdateAttempter| as a member.

BUG=chromium:928805
TEST=FEATURES=test emerge-$B update_engine
TEST=USE="${USE} -dlc" FEATURES=test emerge-$B update_engine

Change-Id: I63ace436e8aacd349e13004fe1e2f4dd37479978
Reviewed-on: https://chromium-review.googlesource.com/c/aosp/platform/system/update_engine/+/2190236
Tested-by: Jae Hoon Kim <kimjae@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
Commit-Queue: Jae Hoon Kim <kimjae@chromium.org>
Auto-Submit: Jae Hoon Kim <kimjae@chromium.org>
diff --git a/mock_update_attempter.h b/mock_update_attempter.h
index fdeba52..ad34802 100644
--- a/mock_update_attempter.h
+++ b/mock_update_attempter.h
@@ -60,6 +60,8 @@
 
   MOCK_METHOD2(SetDlcActiveValue, bool(bool, const std::string&));
 
+  MOCK_CONST_METHOD0(GetExcluder, ExcluderInterface*(void));
+
   MOCK_METHOD0(RefreshDevicePolicy, void(void));
 
   MOCK_CONST_METHOD0(consecutive_failed_update_checks, unsigned int(void));