A motley collection

fix for fd_base::close() loop, plus DFATAL on EINTR
http client connect and request timeouts tested
fix for http client erroneous close (detected by above test)
go ahead and throw in task::join(), since thread::join() does
plus some minor gardening