Move checkpoint based heuristic checks to AcceptBlockHeader

It was incorrectly moved to CheckBlockHeader, which is not correct, as it is not a context-independent validity check of the block header.

Fixes #4246.