Add FreeBSD Support

This work gets the bare minimum code working on FreeBSD.  Catalogs compile, 
I think the existing code is correct - it looks like `::kernel` will be "SunOS" on SmartOS (Joyent's operating system) which isn't specific enough. The `::kernelversion` will appear similar to "5.11 joyent_20120823T215330Z i86pc i386 i86pc Solaris" which will match the regex.

I haven't verified on an actual install but this is what it looks like online. It's hard to find an authoritative source to point to.