Write fee estimate and peers files only when initialized

Fixes #4669.

Move the loading of addresses to StartNode() to make it more
self-contained.
Reserve only one network specific cached path per session
Remove CBaseChainParams::NetworkID()
[Wallet] Watch-only fixes
Keep information about all block files in memory
SQUASHME: NetworkIdFromCommandLine() function instead of method
rpc-tests: don't spew non-errors to stdout

There's a brief race here, the process might've already exited and cleaned up
after itself. If that's the case, reading from the pidfile will harmlessly
fail. Keep those quiet.
Parameterise command line option defaults, so translations are independent of them
SQUASHME: fix "Reserve only one network specific cached path per session"
Merge pull request #4937

ccca27a [Wallet] Watch-only fixes (Cozz Lovan)
Typo in test
Merge pull request #5080

e21b2e0 Typo in test (Luke)
build: quit abusing LIBS for Windows builds.

Similar to the INCLUDES changes in 6b099402b40, split out LIBS into individual
entries for more fine-grained control.

Also add MINIUPNPC_LIBS which was missing before, and hook it up to
executables.
Merge pull request #5074

005b5af rpc-tests: don't spew non-errors to stdout (Cory Fields)
Merge pull request #4942

9406471 Write fee estimate and peers files only when initialized (Wladimir J. van der Laan)
Bugfix: Remove default from -zapwallettxes description (inaccurate)
Headers-first synchronization

Many changes:
* Do not use 'getblocks', but 'getheaders', and use it to build a headers tree.
* Blocks are fetched in parallel from all available outbound peers, using a
  limited moving window. When one peer stalls the movement of the window, it is
  disconnected.
* No more orphan blocks. At all. We only ever request a block for which we have
  verified the headers, and store it to disk immediately. This means that a
  disk-fill attack would require PoW.
* Require protocol version 31800 for every peer (released in december 2010).
* No more syncnode (we sync from everyone we can, though limited to 1 during
  initial *headers* sync).
* Introduce some extra named constants, comments and asserts.
RPC additions after headers-first
Remove CheckMinWork, as we always know all parent headers
Improve getheaders (sending) logging