DoT code rewritten, but....

....it doesn't work (yet :).  Apart from de-duplicating the code, I have prepared a simpler (better?) framework to put in the checks for "errors".   I'm also thinking about indicating the absolute/relative tick damage change on a DoT refresh, in line with the current trend of "refresh if damage is boosted".
The absolute priority is making sure that the code does not segfault every time a dot is applied, as it is doing now :), and with the Christmas holidays coming up I should have enough time for a new better, shinier, release!