Dtest for 5351 - optimizing repair by ignoring already repaired sstables

Test goes through a couple scenarios involving nodes being brought down then up, then being repaired for data inserted during downtime. I primarily use logs to look for bad sstable reads (where the repairedAt field is not zero as it should generally be for repairs) and good reads. I also check data to ensure nothing is lost from the series of repairs.