Socket connections may not actually fill byte[]

Because of network latency, packet size, etc. the byte[] may not be filled on a single read() call for larger message sizes.

This while loop will ensure that the full message body is read.
Fix Compilation Error

`read` was no longer defined.
Ignore Tubes After Using/Watching Them

Puts the client in a more predictable state for multiple job put/reserve
calls.
Test with a large job body