Make the domain in the master struct be its own type instead of just a name string
Cleanup recv and refactor hash key computation into one place
Move setting the next allowed hash entry into a function

Also fixed a bug that likely would have resulted in occasional hangs if
a worker received two or more messages from the zeromq and any but the
last of them caused an error.