Freebsd

This code passes all tests on FreeBSD. It will need testing for OS X.

Because I felt the code for OS X and *BSD was to divergent I removed BSD.reds and put the corresponding code in darwin.reds and freebsd.reds respectively. It might make sense to try to put common code in a new BSD.reds if we add more *BSD platforms. But even they are not very unified in data layout (but more so with the siginfo codes).