SyncedVariantReader/Iterator

Also some variant_reader_test cleanup
either take by & or std::move it in :-)