Rename WorkId to ExecutionId

Since it is for the specific ServerEngineWork that executes
commands, rather than generically for any work.
When popping a queue it helps to remove the element
Improved error message if missing formatter from lookup table

Previously this was a "NoSuchElementException" when integration
tests failed and was a little bit hard to figure out.
Add ExecutionRequestReceived to the registry of formatters
Assert that ExecutionId is not 0
Port SimpleClient to new execution ID system.