Make Hello World run with libcxx and gabi++.

This change does 2 things:

  (1) Modifies gabi++ source compatible with libcxx.
  (2) Adds stubs for missing libc functions needed by libcxx.

It introduces a new macro, GXXABI_LIBCXX, into gabi++ which conditionally
enables and disables functions in gabi++ to make the exported API behave
like libcxxabi's. Existing gabi++ code is also refactored to remove
symbols + APIs that shouldn't really be in namespace std.

Locale handling code has been patched to hobble along in the c-abi, but
there are TODOs.

The exception handling logic in gabi++ isn't complete, nor are the
libc stubs.  Where incomplete functionality is introduced a
preprocess warning is left to indicate lack of functionality.

After this CL, it is possible to make a running Hello World using
libcxx on Android.

Change-Id: Iceafd6f8d6dead6b64320b0c0f852d579cceb34c
31 files changed