snapshots: move compaction to Persist(), use {First,Last}Index()
snapshots: move compaction to Persist(), use {First,Last}Index()

The former moves it out of raft’s blocking path (Persist() is called
from a separate goroutine), the latter allows us to kill
raft_logstore.GetAll() entirely.

robustirc/robustirc,robustirc/robustirc,robustirc/robustirc