New C++ helper classes.

This adds a few useful C++ helper classes to android/base/
that will be used in the future by other patches.

+ Add android/base/String.h, a slightly more efficient version
  of std::string.

+ Add android/base/containers/StringVector.h, an optimized
  vector of strings that is much more efficient than
  std::vector<std::string> and should use less memory.

+ Add android/base/containers/PodVector.h which defines
  an efficient std::vector<> equivalent for POD-struct
  compatible types.

+ Modify PathUtils.h to use StringVector instead of
  std::vector<std::string>.

+ Modify android/utils/file_data.c to get rid of valgrind
  complaints when running the unit test suite.

+ Add android/base/Limits.h to get reliable integer
  limit macros in C++.

Change-Id: Id9374aec658383c29be70a798ba17867664f69d3
diff --git a/Makefile.common b/Makefile.common
index 17b05bb..c990735 100644
--- a/Makefile.common
+++ b/Makefile.common
@@ -118,8 +118,11 @@
 	android/avd/util.c \
 	android/sockets.c \
 	android/sync-utils.c \
+	android/base/containers/PodVector.cpp \
+	android/base/containers/StringVector.cpp \
 	android/base/files/PathUtils.cpp \
 	android/base/Log.cpp \
+	android/base/String.cpp \
 	android/base/StringView.cpp \
 	android/filesystems/ext4_utils.cpp \
 	android/utils/assert.c \