Inspired by this comment on #18638.
message_count is almost completely unused. Additionally, its values are not always consistent with last_message (i.e. we sometimes simultaneously have message_count['foo'] == 1 and 'foo' not in last_message).
This PR removes it and replaces its only use with a new has_verack boolean.