+act #13004 Adding TailChopping router

Initial implementation + test for #13004
Does it look ok, or some generalisation with ScatterGatherFirstCompletedRouter should be made instead? 
I will update doc when final solution will appear.
2 means that message will be send two times to each routee (if needed) - so one cycle.
My first thought was to use foldLeft (to increase delay) and multiple scheduleOnce's - but wouldn't it be more expensive (especially in case of many routees)?
So can plain var be used instead of AtomicInteger? I thought of situation, that some problems can occur if body of schedule will occur two times at same time (e.g. from delay_0 and delay_0 + interval) if first will be computed on core under heavy load - can it be possible?