execution_id_prefix separates global uniqueness from executing unit

Whether a task is (domain) global unique is determined by execution id.
Where the task is processed is (still) determined by its unit.

This way, different units (read: applications in different historical
states) may still be used to process only their "own tasks", but an
execution can be unique among all of them.

Closes #7