Updates to handle errno properly. Improved failure case errors in tests.
When the error number was used on Linux and BSD, the values for the Resource Unavailable (EWOULDBLOCK) were different. For no good reason, this was using a hard-coded number, when it should have used a symbol. This fixes a few of the linux tests. The failure cases when the threaded tests were not working were not great. They would result in hanging processes, which didn't help us very much. The processes are now tracked and we try to destroy as part of the tear down code. The linux and darwin systems have different implementations of the 'netstat' tool we are using for checking that the threaded version does stream properly. So these differences are very roughly abstracted. This should be done better in the future, when we add Windows support.
Showing with 39 additions and 14 deletions