Address Redmine Bug #2330 when running on FreeBSD

CFEngine had sent a SIGINT to a process that had started up with the same pid as the previous cfengine run. It looks like this issue was documented in redmine as bug 2330 and the solution is to get the process start time of that pid and make sure its the same time as the previous run.

However, code for obtaining that information was only added for Linux, Solaris and AIX and all other unix like platforms fall back to stub functions.

This pull request adds FreeBSD specific versions of the GetProcessState and GetProcessStartTime functions
> sysctl() returns -1 in case of error, according to man page on linux and freebsd.

yeah, this evaluation is wrong. sysctl will return 0 if the call is successful and -1 if it is not so the simplest thing to do is check to make sure the return value from sysctl() is equal to 0.