* Add ability to pass callback context to object table lookup
* Propagate errors during socket writes up to caller.
* Use recv and MSG_WAITALL flag instead of looping read
* Error checking in write_bytes
* Method to listen on a network port
* Revert "Use recv and MSG_WAITALL flag instead of looping read"
This reverts commit 32d9333bc6a185729aadb4b41b70b3d7f150a9c2.
* Some documentation
* Clearer documentation
* Fix bug where database clients were getting assigned the same ID
* Regression test for unique client IDs
* Allow reading/writing generic message types, not just tasks.
* Allow messages of length 0 to be read/written, and handle closed sockets.
* Address comments.
* Simplify accept_client.
* Allow ports to be reused in bind_ipc_sock.