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.
Another nitpick: instead say `1 * time.Millisecond` so it reads in the readers head:  "one millisecond" instead of "a millisecond mulitplied by 3".