Make field syncfunc_t.state obligatory

The state of a syncfunc_t is now obligatory.
Previoulsy syncrunner_t has managed different run queues
to save memory space if a function does not need to
store additional state information (single void* pointer).
Remove field syncfunc_t.caller

Remove unnecessary queues from syncrunner_t
and simplify syncfunc_t interface
cause of changed meaning of syncfunc_opt_e.
Remove field syncfunc_t.waitfor

Also:

Change synccond_t.waitfunc to type linkd_t (former type link_t).
This allows to link functions with syncfunc_t.waitlist
to the waitlist of a condition variable.

After this change syncfunc_t.waitfor is no more needed.
Remove it and adapt modules syncrunner_t and synccond_t.
Add field sfunc to syncfunc_param_t