scheduler: periodic tasks synchronization

description of bug: when the batch querying for new commands is too frequent,
each cycle opens a new session which tries to process returned commands.
If the previous cycle is not finished, the next batch overlaps all that.
Some circuits still unprocessed and blocks the slots.

this commit contains some corrections:
- To avoid this overlaping, a lock acquires the previous cycle until the start
  of all circuits. If a next cycle tries to start a next batch during
  the start of previous circuits, this attempt is rejected.
- A new tracking controls the blocked/unprocessed circuits. The life-time
  of each circuit is equal to maximal life-time of command executed on launcher
  (max_command_time). Expired circuits are released from container.

(+ some new classes, modules and tests ... )