Add DNS seed support for testnet

Conflicts:
	src/net.cpp
clear path cache after getting a proper config file (fixes #2605)

Signed-off-by: Jonas Schnelli <jonas.schnelli@include7.ch>

Conflicts:
	src/util.cpp
Introduce a CChainParameters singleton class and regtest mode.

The new class is accessed via the Params() method and holds
most things that vary between main, test and regtest networks.
The regtest mode has two purposes, one is to run the
bitcoind/bitcoinj comparison tool which compares two separate
implementations of the Bitcoin protocol looking for divergence.

The other is that when run, you get a local node which can mine
a single block instantly, which is highly convenient for testing
apps during development as there's no need to wait 10 minutes for
a block on the testnet.

Conflicts:
	blackcoin-qt.pro
	src/alert.cpp
	src/base58.h
	src/bitcoinrpc.cpp
	src/checkpoints.cpp
	src/init.cpp
	src/main.cpp
	src/main.h
	src/makefile.unix
	src/net.cpp
	src/protocol.h
	src/rpcmining.cpp
	src/rpcwallet.cpp
	src/txdb.cpp
	src/util.cpp
Add HMAC-SHA512 to hash

Conflicts:
	src/hash.cpp
	src/hash.h
Generalize version bytes

Conflicts:
	src/chainparams.cpp
remove stake modifier checkpoints