AU: Start an UpdateAttempter unit test suite.

This increases the UpdateAttmpter line coverage to almost 40%. More is needed
but this is a good starting point / checkpoint. Also some UpdateCheckScheduler
unit test cleanup.

BUG=6243
TEST=unit tests, gmerge on device

Change-Id: I39c80de3f18095c4a28cb36ab868bed6d7073824

Review URL: http://codereview.chromium.org/3259011
diff --git a/action_processor.h b/action_processor.h
index 96e16f0..a395b3d 100644
--- a/action_processor.h
+++ b/action_processor.h
@@ -43,12 +43,12 @@
  public:
   ActionProcessor();
 
-  ~ActionProcessor();
+  virtual ~ActionProcessor();
 
   // Starts processing the first Action in the queue. If there's a delegate,
   // when all processing is complete, ProcessingDone() will be called on the
   // delegate.
-  void StartProcessing();
+  virtual void StartProcessing();
 
   // Aborts processing. If an Action is running, it will have
   // TerminateProcessing() called on it. The Action that was running
@@ -59,9 +59,10 @@
   bool IsRunning() const { return NULL != current_action_; }
 
   // Adds another Action to the end of the queue.
-  void EnqueueAction(AbstractAction* action);
+  virtual void EnqueueAction(AbstractAction* action);
 
-  // Sets the current delegate. Set to NULL to remove a delegate.
+  // Sets/gets the current delegate. Set to NULL to remove a delegate.
+  ActionProcessorDelegate* delegate() const { return delegate_; }
   void set_delegate(ActionProcessorDelegate *delegate) {
     delegate_ = delegate;
   }