A reusable file descriptor abstraction.

Includes an API definition for opening/closing, reading from / writing
to files. Also includes a concrete implementation based on standard
POSIX calls.

BUG=none
TEST=Builds and runs unit tests

Change-Id: I7eefacff396493938c1c327182b27e56750fe284
Reviewed-on: https://gerrit.chromium.org/gerrit/22405
Commit-Ready: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Gilad Arnold <garnold@chromium.org>
Tested-by: Gilad Arnold <garnold@chromium.org>
Reviewed-by: Jay Srinivasan <jaysri@chromium.org>
diff --git a/SConstruct b/SConstruct
index e2f21d0..0030bd5 100644
--- a/SConstruct
+++ b/SConstruct
@@ -254,6 +254,7 @@
                    extent_writer.cc
                    filesystem_copier_action.cc
                    filesystem_iterator.cc
+                   file_descriptor.cc
                    file_writer.cc
                    flimflam_proxy.cc
                    full_update_generator.cc