SyncedVariantReader/Iterator

Also some variant_reader_test cleanup
#222 should help with bringing all the Variant Readers and Iterators back together.