AU: Minor fixes to get it to do full update on real device

- Link w/ gtest only for unittests.

- filesystem_copier_action: always send install plan on the output pipe
  on success, even if no copy was performed.

- omaha_response_handler: properly choose install partition based on
  new GPT partition spec.

- More useful logging to match memento_updater (which update URL is
  used, dump of the request/response for the update check).

- Fixed a bug where I wasn't bonding the proper actions together in update_attempter.

BUG=None
TEST=attached unittests/did full update on Eee PC

Review URL: http://codereview.chromium.org/2044001
diff --git a/SConstruct b/SConstruct
index dc05e37..5adf16b 100644
--- a/SConstruct
+++ b/SConstruct
@@ -94,21 +94,21 @@
     env['ENV'][key] = os.environ[key]
 
 
-    # -Wclobbered
-    # -Wempty-body
-    # -Wignored-qualifiers
-    # -Wtype-limits
 env['CCFLAGS'] = ' '.join("""-g
                              -fno-exceptions
                              -fno-strict-aliasing
                              -Wall
                              -Wclobbered
+                             -Wclobbered
+                             -Wempty-body
                              -Wempty-body
                              -Werror
                              -Wignored-qualifiers
+                             -Wignored-qualifiers
                              -Wmissing-field-initializers
                              -Wsign-compare
                              -Wtype-limits
+                             -Wtype-limits
                              -Wuninitialized
                              -D__STDC_FORMAT_MACROS=1
                              -D_FILE_OFFSET_BITS=64
@@ -120,7 +120,6 @@
                        curl
                        gflags
                        glib-2.0
-                       gtest
                        gthread-2.0
                        libpcrecpp
                        protobuf
@@ -216,16 +215,22 @@
 
 delta_generator_main = ['generate_delta_main.cc']
 
-env.Program('update_engine', sources + main)
-unittest_cmd = env.Program('update_engine_unittests',
-                           sources + unittest_sources + unittest_main)
 
-client_cmd = env.Program('update_engine_client', sources + client_main);
+update_engine_core = env.Library('update_engine_core', sources)
+env.Prepend(LIBS=[update_engine_core])
 
-Clean(unittest_cmd, Glob('*.gcda') + Glob('*.gcno') + Glob('*.gcov') +
-                    Split('html app.info'))
+env.Program('update_engine', main)
+
+client_cmd = env.Program('update_engine_client', client_main);
 
 delta_generator_cmd = env.Program('delta_generator',
-                                  sources + delta_generator_main)
+                                  delta_generator_main)
 
 http_server_cmd = env.Program('test_http_server', 'test_http_server.cc')
+
+unittest_env = env.Clone()
+unittest_env.Append(LIBS=['gtest'])
+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'))