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. 
There's probably no reason to export the OS-specific functions here.  They're an implementation detail that likely no one outside the package should know about.