Add "streaming" extension that makes WORK_DATA safe for use by streaming clients.

Also involved splitting server-job.js out into a file per class.
Add support for background jobs
Reorganize a little for clarity
Add support for priorities, enforce FIFO-ness of same priority jobs
Clarify the disconnecting workers semantics
Fix bug in unacceptSerial where it cleared the event queue
Add connected status tracking and disconnect event
Make remove/unregister type commands safe when disconnected
Switch to StreamReplay from buffr for bodies

This is due to the body needing to be sent multiple times when a worker
disconnects and a job is submitted to a new worker.
Add connection ids to socket client id markers
Call disconnect when destroying connections