raft: do not decrease nextIndex and send entries for stale reply

We need to handle message duplication and reordering.

When follower denies a `msgApp`, it attaches the msg with the index of the `msgApp` that it denies to. 

When leader receives a rejection, it checks:
if the follower has matched, the rejection must be stale and should ignore.
if the next of the follower does not match with the rejected index, the rejection must be stale and should ignore.
// a message with denied set must be stale if the follower node has a match index or "to" does not match next - 1

Is this an improvement. The "message rejection" is confusing if it is actually msg.Denied = true.