Reorder AppInit2
This reorders AppInit2 into 10 sections:
- basic setup (OS stuff, signal handlers)
- parameter interactions (softset)
- interpreting options without side effects (just setting internal variables)
- application initialization (datadir lock, daemonize, pidfile, log file)
- network initialization (network params, proxy, binding)
- load blockchain
- load wallet
- import blocks (-loadblock=)
- load peers
- start node/rpc threads
- finished
This means invalid configurations will be detected as soon as possible
(in particular, before loading the block chain).