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. 
internally, go uses forward slashes on all platforms.

So filepath.Join(`C:\Juju\tmp`, "test") would yeld C:\juju\tmp/test (on linux at least). For platform specific file separator I generaly use [filepath.FromSlash()](http://golang.org/pkg/path/filepath/#FromSlash) and [filepath.ToSlash()](http://golang.org/pkg/path/filepath/#ToSlash)