AU: Update status to DOWNLOADING only after receiving some bytes from server.

This ensures that users don't see an update download notification until
after a download has successfully started.

Also, added some DownloadActionDelegate unit tests.

BUG=5822
TEST=unit tests, gmerged to device, made sure updates happened and
notifications received

Change-Id: I96912dcd98a53e9bd7eecc63dab704f959a06441

Review URL: http://codereview.chromium.org/3131022
diff --git a/update_engine_client.cc b/update_engine_client.cc
index e25d313..a55820a 100644
--- a/update_engine_client.cc
+++ b/update_engine_client.cc
@@ -234,7 +234,7 @@
 
     // Wait for an update to complete.
     if (FLAGS_update) {
-      LOG(INFO) << "Waiting for update the complete.";
+      LOG(INFO) << "Waiting for update to complete.";
       CompleteUpdate();  // Should never return.
       return 1;
     }