Revisit issue #87: fails to build on linux headers 3.13

Dropping <fcntl.h> in favor of <linux/fcntl.h> is incorrect.  Yet
uClibc needs O_CLOEXEC from <linux/fcntl.h>.  So we re-introduce
<fcntl.h> and include <linux/fcntl.h> only on uClibc systems to
avoid redefinitions.

Signed-off-by: Anthony G. Basile <blueness@gentoo.org>