Clearer flags in register_worker_death()

"self-burial" had two meanings:
 - should we release the undone jobs ?
 - should we update the last_check_in field in the worker table ?
The former can simply be found by checking whether the worker already has a
role attached to it.
The latter is only set when a worker registers its own death, and is not set
by the GarbageCollector.
Numbers are returned as real numbers, not strings;

This is needed for pipeline_wide_parameters as each value is destringified
independently and the JSON writer would otherwise force writing numbers as
strings