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/libc/Android.mk b/libc/Android.mk
index 551c633..af96503 100644
--- a/libc/Android.mk
+++ b/libc/Android.mk
@@ -120,7 +120,6 @@
 	bionic/siglist.c \
 	bionic/signame.c \
 	bionic/sigsetmask.c \
-	bionic/sleep.c \
 	bionic/strndup.c \
 	bionic/strntoimax.c \
 	bionic/strntoumax.c \
@@ -132,7 +131,6 @@
 	bionic/time64.c \
 	bionic/umount.c \
 	bionic/unlockpt.c \
-	bionic/usleep.c \
 	bionic/utmp.c \
 	bionic/wcscoll.c \
 
@@ -310,6 +308,8 @@
     tzcode/strptime.c \
 
 libc_upstream_freebsd_src_files := \
+    upstream-freebsd/lib/libc/gen/sleep.c \
+    upstream-freebsd/lib/libc/gen/usleep.c \
     upstream-freebsd/lib/libc/stdio/clrerr.c \
     upstream-freebsd/lib/libc/stdio/fclose.c \
     upstream-freebsd/lib/libc/stdio/fdopen.c \