stdenv-darwin: Pass through libcxx/libcxxabi
libc++abi: Enable _LIBCXX_DYNAMIC_FALLBACK

Without this, the C++ dynamic_cast<> operator does not work
reliably in conjunction with dynamic linking. See

  http://www.russellmcc.com/posts/2013-08-03-rtti.html

(That article suggests that Apple builds libc++abi without
_LIBCXX_DYNAMIC_FALLBACK, but "strings /usr/lib/libc++abi.dylib"
shows that it *is* enabled.)
stdenv-darwin: Revert to clang 3.3

In 3.3, a C++ class defined in a header will get a typeinfo symbol
like this (e.g. in Nix's src/libutil/util.o):

  (__DATA,__datacoal_nt) weak external typeinfo for nix::BaseError

But in 3.4, this has changed to:

  (__DATA,__datacoal_nt) weak external automatically hidden typeinfo for nix::BaseError

This causes the linker to change the symbol to:

  (__DATA,__data) non-external (was signed char private external) typeinfo for nix::BaseError

i.e. losing its weak linkage. But without weak linkage, dynamic_cast
and other RTTI-based mechanisms (such as catching an exception of a
certain type) don't work across shared libraries / executables.

The clang compiler in the SDK doesn't have this behaviour, but it's
not clear exactly which version it is (it just says "based on LLVM
3.4svn").