Fix clang warnings

Port K&R function declarations to something non-K&R like

Sponsored-by: EMC / Isilon Storage Division
Don't redefine PAGE_SIZE; use sysconf instead

Add an "assert" to make sure that the value is good at least once

Sponsored-by: EMC / Isilon Storage Division
Use unsigned long instead of ulong

Sponsored-by: EMC / Isilon Storage Division
Mute clang warning

Sponsored-by: EMC / Isilon Storage Division
Port to FreeBSD

Automatically determine whether or not one is running Linux by whether
or not __linux__ is defined via the compiler

Sponsored-by: EMC / Isilon Storage Division
Include sys/types.h to pick up pid_t per POSIX

Sponsored-by: EMC / Isilon Storage Division
Automatically detect Linux via __linux__ and prune some non-POSIX compliant code

Sponsored-by: EMC / Isilon Storage Division
Mute a clang warning

Sponsored-by: EMC / Isilon Storage Division
Use sysconf(_SC_PAGE_SIZE) instead of getpagesize

Convert the value to a long to get past a clang warning

Sponsored-by: EMC / Isilon Storage Division
Use sys/wait.h and use SIGCHLD instead of SIGCLD

Sponsored-by: EMC / Isilon Storage Division