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.
Add "size" parameter to AppendBlockFile.

Extend AppendBlockFile with a new "size" parameter that is used to check
for disk space directly in the routine.  It is also verified that the
number of written bytes matches the size, but the size is not yet used
for anything else.  In the future, it will be used to preallocate the
block file in chunks.
Undo the change to make CheckDiskSpace static.

CheckDiskSpace is used also in init.cpp, so can't make it static.
Make AppendBlockFile extend the file in chunks.

Keep a number of "reserved" zero bytes at the end of the block files,
and if they are not enough in AppendBlockFile, always extend the file
size by a larger chunk.  This may prevent excessive fragmentation in
NTFS / Windows.
Use passed-in DatabaseSet in AppendBlockFile.

Instead of constructing a manual CTxDB object in AppendBlockFile, use a
passed-in one.  This seems to be less prone to dead-locks.