Fix bug: handle the list of Timers not in-place
Fix bug: handle the list of Timers not in-place

With commit 541c8c4 we switched from an (manually) ordered list to a
std::set<> to handle the active timers. The code which checks for overdue
timers now traverses and modifies the std::set<> in place. This might
lead to an infinite loop. Examples of such bad behavior are "flickering of
the tooltip" (bug #3590078) or crashes (bug #3600143) or just insanely high
cpu load when autoraising windows or submenus.

We now make a copy of the std::set<> traverse this instead of the original.

lukoko/fluxbox,Arkq/fluxbox,olivergondza/fluxbox,luebking/fluxbox,lukoko/fluxbox,lukoko/fluxbox,luebking/fluxbox,Arkq/fluxbox,Arkq/fluxbox,olivergondza/fluxbox,olivergondza/fluxbox,lukoko/fluxbox,olivergondza/fluxbox,Arkq/fluxbox,olivergondza/fluxbox,luebking/fluxbox,luebking/fluxbox,naimdjon/fluxbox,naimdjon/fluxbox,naimdjon/fluxbox,luebking/fluxbox,lukoko/fluxbox,Arkq/fluxbox,naimdjon/fluxbox,naimdjon/fluxbox