Specifying Timer threads to be run as daeomn threads.

The Timer objects in these classes were not cancelled, thus by default, JVM would not exit and waiting those active non-daemon threads forever.

Implication of this change: JVM will not wait for all scheduled tasks.
Merge pull request #3719 from wchen9911/timer

Specifying Timer threads to be run as daemon threads.