Maintain all attention set updates in ChangeNotesState

This allows gathering change-based metrics on attention set
history, and not only on the current status of the attention set
(which will just be empty on the majority of cases on old changes).

Change-Id: I6f8ffc72f533c4f706355820151ada74e3203421
diff --git a/proto/cache.proto b/proto/cache.proto
index 7924cbd..b6225d9 100644
--- a/proto/cache.proto
+++ b/proto/cache.proto
@@ -76,7 +76,7 @@
 // Instead, we just take the tedious yet simple approach of having a "has_foo"
 // field for each nullable field "foo", indicating whether or not foo is null.
 //
-// Next ID: 24
+// Next ID: 25
 message ChangeNotesStateProto {
   // Effectively required, even though the corresponding ChangeNotesState field
   // is optional, since the field is only absent when NoteDb is disabled, in
@@ -218,7 +218,11 @@
     string operation = 3;
     string reason = 4;
   }
+  // Only includes the most recent attention set update for each user.
   repeated AttentionSetUpdateProto attention_set_update = 23;
+
+  // Includes all attention set updates.
+  repeated AttentionSetUpdateProto all_attention_set_update = 24;
 }
 
 // Serialized form of com.google.gerrit.server.query.change.ConflictKey