Nits; including remove unused code.
Introduce Contact::is_anonymous_email.

And activity for anonymous users is not tracked or logged.
Searching for rev:anonymous finds all review-token reviews.
The action of sending messages for watch shouldn't change the contact info map.

The current contact info map has information about tokens, etc.;
the new one doesn't.
Track the token owner's contact ID for each paper.

Requires some changes, unfortunately.
If the current user has a token, save comments as by that token.