Fix handling of unordered_map/unordered_set on OSX 10.9.0.

Depending on the compiler + standard library combination,
unordered_map/set may or may not be available. If available
they maybe in the std or the std::tr1 namespaces.

Apple switched to using libc++ with 10.9.0 which places
unordered_map in std, breaking our assumptions about the
platform.

This change refactors our logic for dealing with the namespace
switching, making it a three state thing rather than two. There
are three defines now, CERES_NO_UNORDERED_MAP, CERES_STD_UNORDERED_MAP
and CERES_TR1_UNORDERED_MAP. Earlier the first two were conflated
into one, leading to the breakage.

Change-Id: I904fe8c49529169bdefa9f2ee6d629e7eab0b855
diff --git a/jni/Android.mk b/jni/Android.mk
index 1c6f045..c68f79b 100644
--- a/jni/Android.mk
+++ b/jni/Android.mk
@@ -104,7 +104,7 @@
                 -DCERES_NO_GFLAGS \
                 -DCERES_NO_THREADS \
                 -DCERES_NO_CXSPARSE \
-                -DCERES_NO_TR1 \
+                -DCERES_NO_UNORDERED_MAP \
                 -DCERES_WORK_AROUND_ANDROID_NDK_COMPILER_BUG
 
 # On Android NDK 8b, GCC gives spurrious warnings about ABI incompatibility for