Remove hardcoded paths

* added helper functions to return variables for system we are running on
* removed hardcoded paths and socket type

This will allow us to expand to other operating systems without changing too many files. 
Everything which is exported from a package must have a comment.   Everything which is a top level type or function *should* have a comment.  Variables and constants that are blatantly obvious can be the exception.