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.
@xiangli-cmu Why can't it be compared to a zero'd version of softstate? I don't see a bool in the struct.