Cleanup socket handling:

* Remove open Unix from server and harbor for clarity
* Implement wait_for using Duppy. This should allow for
  more atomic mutex action and also cleaner select handling
  with read and write tests.