Restore BSD conditional fix

This change was bundled with another, and was subsequently lost when
permissions changes commit was reverted. See
https://github.com/cfengine/core/pull/1593
Permissions changes for FreeBSD/Solaris

The initial commit was reverted (see
https://github.com/cfengine/core/pull/1593 for background). Instead of
changing permissions for all nix systems then, differentiate between
(FreeBSD|Solaris) and others. This bloats up the tests, but hey.
Merge pull request #1606 from aappilattoq/master

Special bit permissions: take two ; restore BSD conditional fix