leave-comment tests cover nil ring-index case

Trying to make them independant of the cycling back with nil ring-index
bug is not possible.

Therefore, git-commit-message-history-leave-comments makes
git-commit-message-back-nil-index redundant.
ring-index must be non-nil before cycling message

When ring-index is nil, log-edit-previous-comment goes to the "last"
item, which turns out to be the current message that has just been
saved, i.e. the message in buffer does not change.
put duplicate hist items to front