AU: Ranges class to managing unordered collection of blocks/extents.

Sometimes it's useful to have an unordered collection of ranges and
manipulate them. For example, we may want to do set subtraction on two
collections of extents. This class helps facilitate that.

BUG=7294
TEST=attached unittest

Review URL: http://codereview.chromium.org/3604005
diff --git a/SConstruct b/SConstruct
index 70803e7..585380a 100644
--- a/SConstruct
+++ b/SConstruct
@@ -1,4 +1,4 @@
-# Copyright (c) 2009 The Chromium OS Authors. All rights reserved.
+# Copyright (c) 2010 The Chromium OS Authors. All rights reserved.
 # Use of this source code is governed by a BSD-style license that can be
 # found in the LICENSE file.
 
@@ -203,6 +203,7 @@
                    delta_performer.cc
                    download_action.cc
                    extent_mapper.cc
+                   extent_ranges.cc
                    extent_writer.cc
                    filesystem_copier_action.cc
                    filesystem_iterator.cc
@@ -241,6 +242,7 @@
                             delta_performer_unittest.cc
                             download_action_unittest.cc
                             extent_mapper_unittest.cc
+                            extent_ranges_unittest.cc
                             extent_writer_unittest.cc
                             file_writer_unittest.cc
                             filesystem_copier_action_unittest.cc