FX-304

Wrong Timer implementation.
Session may still alive, whereas timer thread can exit. 
I found this bug when do some tests of auto reconnect after network interface down/up sequence.
Timer start in Session ctor. Once started, it must not be finished until session object still alive.
This problem cause to interrupt heart-beating service after disconnect and new connect.
0000002 B 2014-06-19 14:12:54.053950724 Terminating Timer thread (5006 elapsed, 0 queued).
In the original version, if the callback function returns false, it also is used to signal to the timer that it should exit - i.e. this is a serious error condition.