Improve error output when an invalid job identifier is received
The message does not explicitly state what the error is, but lists potential reasons for the error to happen.
For example:
/home/user/Projects/batsim/src/protocol.cpp:980: [root/CRITICAL] Invalid JSON message: Invalid job change job state received: The job identifier 'DYNAMIC_WORKLOAD!1' is not valid. Job identifiers must be of the form [WORKLOAD_NAME!]JOB_ID. If WORKLOAD_NAME! is omitted, WORKLOAD_NAME='static' is used. Furthermore, the corresponding job must exist.