Add ReadIndexAsync() to RaftNode that confirms leader quorum by sending heartbeat RPCs before returning CommitIndex, avoiding log growth for reads. Add RaftReadIndexTests.cs with 13 tests covering normal path, non-leader rejection, partitioned leader timeout, single-node fast path, log stability, and peer LastContact refresh after heartbeat round.