Centralised retries() for LogThrDestDriver

Moves the `retries()` functionality into `LogThrDestDriver`, and updates all modules that use the class so that they will now support `retries()` too.
This part should be moved into a separated function.
And this function should use a loop, which loop running while we get message from the queue and the insert method is success. I think it should be more efficient.