WiP: Added named pipes support

This branch replaces unix sockets with named pipes on windows.

The "sockets" package name is temporary. It should be named something else that denotes that it will only dial either unix sockets or named pipes. Dialing TCP sockets works the same on both windows and linux.
you really don't need a special rpc package here.... you can just do

conn, err := npipe.Dial(socketPath)
return rpc.NewClient(conn)