libc++: Initial Android support

WARNING: THIS DOES *NOT* BUILD PROPERLY FOR NOW.

This patch contains initial changes to support building for Android
with GCC 4.6 (at a minimum). This includes:

 - android/README explaining how to build this. Note that the
   library doesn't compile yet (working on it).

 - android/llvm-libc++/Android.mk containing module definitions
   for the static and shared library versions of libc++.

   Note that -std=c++11 is required when building the library,
   this means it requires GCC 4.6 at a minimum (forget about
   GCC 4.4.3).

 - android/test/, a small ndk-build project to build the library
   and link a trivial test program to it.

 - include/support/android/ directory, containing wrappers for
   system headers that don't always provide the features needed
   to build or use the library.

   Implementation files will go under src/support/android/...

 - include/__config changes to support GCC properly.

Change-Id: Ia0301386e871ae748c375ddc91f04756db82bec4
18 files changed