In order to filter nodes based on whether they follow chain params or
not, the seeder needs to be able to handle the `HEADERS`
messages after sending a `GETHEADERS` message. This diff allows the
seeder to receive and process the new type of message and identify nodes
that are following the correct chain. Specifically, a node must have at least
the block immediately after the most recent checkpoint to be considered a seed.
No properly behaving nodes will be banned by this change because the
seeder cannot know whether a node is on the wrong chain or simply
doing IBD. In both cases, a node is marked bad internally, but not banned.
Made in favor of D4439 and D4442 because splitting the diff would introduce a vulnerability.
Depends on D5682