Add "warmup mode" for RPC server.

Start the RPC server before doing all the (expensive) startup initialisations like loading the block index.  Until the node is ready, return all calls immediately with a new error signalling "in warmup" with an appropriate status message (similar to the init message).

This is useful for RPC clients to know that the server is there (e. g., they don't have to start it) but not yet available.  It is used in Namecoin and Huntercoin already for some time, and there exists a UI hooked onto the RPC interface that actively uses this to its advantage.
I see a duplication here; you could subscribe SetRPCWarmupStatus to uiInterface.InitMessage signals and avoid it.