part four & five, Add nonblocking for client and server

Missing a bunch of testing that is more needed than ever but this
passes make check, scary as that may be.