make TTL work

fixes #1068 

It lacks tests, but is able to work well.
i wanna get some feedback for this implementation, and I am adding tests for it now.
@philips softstate is composed of lead and raftState. A zero'd version of softstate is a valid case, which indicates the node has no leader and is a follower. So if we use zero'd version, we cannot figure out whether it is updated or not.