raft: fix transmission logic

As explained in #1366, the leader fails to transmit the missed
logs if it receives a hearbeat response from a follower that is
not yet matched in the leader. When a follower is not matched,
there are append responses that do not explicitly reject but
imply 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