release 0.9.15
pclose.c: put inclusion of syscall.h last to prevent macro expansion

syscall.h defines the syscall macro which could get expanded in unistd.h,
possibly causing build errors.
epoll: #define _BSD_SOURCE before including any headers

this is in preparation for the x32 port where the syscall header needs
sys/types.h with _BSD_SOURCE, but since the header is included after
other headers that implicitly pull in sys/types.h, we don't get the
definition of register_t.
internal/syscall.h: use a macro for the syscall args casts

this allows syscall_arch.h to define the macro __scc if special
casting is needed, as is the case for x32, where the actual syscall
arguments are 64bit, but, in case of pointers, would get sign-extended
and thus become invalid.