raft: fix transmission logic

As explained in #1366, the leader will fail to transmit the missed
logs if the leader receives a hearbeat response from a follower
that is not yet matched in the leader. In other words, there are
append responses that do not explicitly reject an append but
implied a gap.

This commit modifies stepLeader to transmit the missing logs only
if the follower is not matched and the received MsgAppResp's index
is lower than the progress's index. All test cases pass.

Fixes #1366