raft: make tick send out messages.

@bmizerany I thought about this for a while. Then I realized the actions (outputs) should be all generated inside step function. I do not want to break this rule just due to the init problem. I made a little changes to break the init loop.

Now only `step` function can generate output messages. good for testing.
Nitpick: Please use "TODO:" instead of "todo" so we can find them with grep easier.