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.
Primecoin HP: Bump version to -hp13.
Big CPU mining performance optimizations.

Optimized Fermat's primality test, which is especially good for 2CC
candidates.

Use the BTS instruction (same as RapidPrime miner) to speed up the sieve on
all x86 CPUs. The sieve loop is also unrolled when running on 64-bit platform.

Special version of the sieve for Haswell that uses BMI2 instructions.

Added SSE2 and AVX2 versions of large bitwise operations on the sieve arrays.

The multiplier arrays have been transposed for better cache performance.

Sieve extensions have been changed similar to rdebourbon's new miner. The
basic sieve checks all odd multipliers and the numbers in the extensions are
always multiplied by powers of two.

Increased the default values of the tuning parameters to match the faster
sieve code.

Lots of other minor tweaks.
Set developer fee to 1% (-donationpercentage defaults to 1.0).
Primecoin HP: Updated changelog for HP14.
Primecoin HP: Bump version to -hp14.
Primecoin HP: Added new tuning parameters to changelog.
Version 1.1 (-hp14)

Merge branch 'master' of https://github.com/mikaelh2/primecoin into experimental

Resolved Conflicts:
	src/prime.cpp
	src/prime.h