Implement "daemon warmup" for the RPC interface.

Fix https://github.com/chronokings/huntercoin/issues/63 by starting the
RPC daemon early during start up.  Until everything necessary is
initialised, it simply returns an error early on when called.
Merge pull request #65 from domob1812/daemon-warmup

Implement "daemon warmup" for the RPC interface.
Port over initial UTXO DB changes from Namecoin.

Port over the initial commit to implement an UTXO DB from Namecoin.  It
can keep track of the UTXO set in ConnectInputs, but not yet in
DisconnectInputs.  Also includes listsinceblock.
Update the UTXO set in DisconnectInputs.

Also handle the UTXO set in DisconnectInputs.  Not yet really tested.
Remove duplicate listsinceblock, error from merge.
Fix rescanning for Huntercoin.

Fix differences between NMC and HUC in UTXO rescanning.  In particular,
add also the genesis block coinbase and process both block.vtx and
block.vgametx.
Update disaster chance script with some more experiments.
Introduce CUtxoEntry for more information.

Add a new class CUtxoEntry that is stored in the UTXO DB instead of
CTxOut's themselves.  This way, we can include more information --
everything that is needed in ConnectInputs, to be precise:  Height,
IsGameTx and IsCoinBase.
Use only UTXO set in ConnectInputs.

Don't load the previous tx at all in ConnectInputs, use only the
information present in the UTXO DB.
Get rid of CheckTransactionAtRelativeDepth.

Use the UTXO set height information instead of CheckTransactionAtRelative
depth in order to verify min confirmations on name_new and things like
that.
Allow premine coins to be spent "immature".

Disable the "coinbase maturity" checks for the premine coins.  The old
check didn't cover the genesis block, either.