Primecoin HP: Optimize CheckSyncCheckpoint() to speed up block verification
and blockchain download.

CheckSyncCheckpoint() scans through the blockchain until it finds the previous
sync-checkpoint. Since sync-checkpointing is not active in Primecoin, the
function will always scan through most of the blockchain. This will slow down
the blockchain download once the block headers no longer fit in L3 cache.
Assuming an L3 cache of 8 MB and a 64-byte cache line width, the L3 cache will
only hold 131072 blocks at most.

The solution is to store the hash of the previous block known to be connected
to the previous checkpoint. This way the function will only check the previous
two blocks in most cases. In other cases, the entire blockchain is scanned as
usual.