AU: MultiHttpFetcher cleanup/rewrite

This is the first of many CLs to cleanup/refactor/unfork the
HttpFetcher classes.

This CL changes MultiHttpFetcher to MultiRangeHTTPFetcher, makes it
work with a single base fetcher, and un-templatizes it.

Also, fix a (new?) bug in SConstruct w/ setting CCFLAGS.

TEST=unittests, tested an interrupted/resumed update on device.
BUG=10395

Review URL: http://codereview.chromium.org/5835004

Change-Id: I8422358a6d425233987dd799c5ee7c87135d85fd
diff --git a/SConstruct b/SConstruct
index 6b0646a..615d18c 100644
--- a/SConstruct
+++ b/SConstruct
@@ -230,7 +230,7 @@
 env.GlibMarshal('marshal.glibmarshal.c', 'marshal.list')
 
 if ARGUMENTS.get('debug', 0):
-  env['CCFLAGS'] += ' -fprofile-arcs -ftest-coverage'
+  env['CCFLAGS'] += ['-fprofile-arcs', '-ftest-coverage']
   env['LIBS'] += ['bz2', 'gcov']
 
 sources = Split("""action_processor.cc
@@ -258,6 +258,7 @@
                    libcurl_http_fetcher.cc
                    marshal.glibmarshal.c
                    metadata.cc
+                   multi_range_http_fetcher.cc
                    omaha_hash_calculator.cc
                    omaha_request_action.cc
                    omaha_request_params.cc
@@ -361,4 +362,4 @@
 unittest_cmd = unittest_env.Program('update_engine_unittests',
                            unittest_sources + unittest_main)
 Clean(unittest_cmd, Glob('*.gcda') + Glob('*.gcno') + Glob('*.gcov') +
-                    Split('html app.info'))
\ No newline at end of file
+                    Split('html app.info'))