Instead of depending on full User objects, accept
UserIdentity(Value), we only needed User::getTalkPage
but that is trivial to recreate with UserIdentity.
By switching to UserIdentityValue objects, we can specify
the user id easily and not need to load from the database.
Also, give the anonymous user an ip address for the name.
Use a data provider for doTestUserHasNewMessages
Change-Id: I4d1d0226aeee154db42a31b56873e428cd46b64f