support both windows and unix local sockets

- windows and unix name conventions differ, lib/pipe.js implements a
  path-like convention for windows
- windows doesn't reliably support half-open, so protocol is now
  single-line JSON, with end of JSON delimited by a NL
- windows doesn't need local names to be unlinked