Introduce a CChainParameters singleton class.

Move hashGenesisBlock and pchMessageStart into this class and replace
references with calls to Params().MessageStart() and friends. The goal
is to reach a state where all numbers that vary between network
instances are collected in one place, then introduce a third set of
regtest parameters designed for the bitcoind/bitcoinj comparison tool
and app development.
Alert keys to CChainParams.
Default port to CChainParams
bnProofOfWorkLimit -> CChainParams
Subsidy interval -> CChainParams
Genesis block -> CChainParams
Introduce a regression test mode.

It uses the same parameters as Matt's bitcoind/bitcoinj comparison
tool requires, but also disables DNS seeding and introduces a
separate port number.
Remove the bitcoind-comparison patch as it's no longer needed.
Data directory name -> CChainParams, add a new one for regtest mode.
In regtest mode, don't connect to other nodes and ensure listening is enabled.