Deallocate timeout-slots when client is destroyed (fixes #31).

Actually, this is really complicated because of
multi-threading issues. I hope I got it right. Perhaps we
should consider redesigning the whole timer service some
day.