Move checkpoint based heuristic checks to AcceptBlockHeader
rpc: Ignore and log errors during cancel

Cancelling the RPC acceptors can sometimes result in an error about
a bad file descriptor.

As this is the shutdown sequence we need to continue nevertheless,
ignore these errors, log a warning and proceed.

Fixes #4352.
rpc: Add acceptors only when listening succeeded
Merge pull request #4358

6afa493 rpc: Add acceptors only when listening succeeded (Wladimir J. van der Laan)
33e5b42 rpc: Ignore and log errors during cancel (Wladimir J. van der Laan)
Merge pull request #4310

7a9e0b6 Move checkpoint based heuristic checks to AcceptBlockHeader (Pieter Wuille)
Make CBlockIndex a subclass of CBlockHeader
Make GetBlockHash deprecated