Switch to upstream sleep(3) and usleep(3).

Also fix the signature of usleep, and the definition of useconds_t which
should be unsigned, as the 'u' in its name implies.

This patch also cleans up the existing FreeBSD hacks by moving the libm
stuff from <sys/cdefs.h> to a libm-private header, and adding comments
about the hacks we use to build FreeBSD source.

Change-Id: Ibe5067a380502df94a0a3a7901969b35411085b6
diff --git a/libm/Android.mk b/libm/Android.mk
index 1d87dc2..39e5563 100644
--- a/libm/Android.mk
+++ b/libm/Android.mk
@@ -217,7 +217,11 @@
 
 # TODO: re-enable i387/e_sqrtf.S for x86, and maybe others.
 
-libm_common_cflags := -DFLT_EVAL_METHOD=0 -std=c99
+libm_common_cflags := \
+    -DFLT_EVAL_METHOD=0 \
+    -std=c99 \
+    -include $(LOCAL_PATH)/freebsd-compat.h \
+
 libm_common_includes := $(LOCAL_PATH)/upstream-freebsd/lib/msun/src/
 
 libm_arm_includes := $(LOCAL_PATH)/arm