(cfact 68) enable solaris compilation

This PR includes the following changes
- Disable add_platform_facts for solaris until CFACT 70 is completed
- Use `struct utsname` in place of `utsname` since in solaris sys/utsname.h, there is a global variable of the same name, which makes the typename illegal
- Use -lsocket when compiling solaris
Isn't this solaris specific? Don't we still want to load this for other distros, like rhel, etc.?