Update BSD with changes to Linux port from whowatch-1.7.tar.gz

Original-Commit: 7fcb9e2591fce2f667cdde315c75e205f6f43ca2
Update BSD with changes to Linux port from whowatch-1.8.tar.gz

Original-Commit: 559742a2a7c8403162f83ff4704355e68df256b8
Update BSD with changes to Linux port from whowatch-1.8.3.tar.gz

Original-Commit: f5dae8fb907a9d39111e95150bf5e50e0d82a261
Update BSD with changes to Linux port from very minor cleanups

Original-Commit: c6f8e784a7cc5b4105e536a4260dbbd4c2bb83d1
Update BSD with changes to Linux port from 'Fixed compiler warnings (mostly casting)'

Original-Commit: b9f67a330dd5b234480d1901700c81ce2b13a0b7
Move procinfo.c out of dialects, port differences are only #ifdefs.
Move proc_plugin.c out of dialects, port is only an #ifdef.
sysctl takes a pointer to size_t not int.
Check for correct members of kinfo_proc since it differs in the BSD family
Properly record the availability of sysctl()
Check for the FreeBSD kernel as well as FreeBSD
Rename LIST_HEAD to DECL_LIST_HEAD to avoid conflict with system one on BSD
Use the getkey function instead, read_key does not exist
Use the main_periodic function instead, periodic does not exist
Fix the CPU info on FreeBSD
Port the HZ handling to BSD