Fixes #1808: use different treeStableTimer for different sources

I've had this patch in my queue for a year. I havent put in a pull request because I havent been able to test this on a live server instance. There are new unit tests, however, it hasnt been tested for real.