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()
Qt: allow "emergency" shutdown during startup

- allows closing our splash screen to abort startup
[Wallet] Watch-only fixes
Refactor -alertnotify code

Refactor common -alertnotify code into static CAlert::Notify method.
Trigger -alertnotify if network is upgrading without you

This adds a -regetest-only undocumented (for regression testing only)
command-line option -blockversion=N to set block.nVersion.

Adds to the "has the rest of the network upgraded to a
block.nVersion we don't understand" code so it calls
-alertnotify when 51 of the last 100 blocks are up-version.
But it only alerts once, not with every subsequent new, upversion
block.

And adds a forknotify.py regression test to make sure it works.

Tested using forknotify.py:

Before adding CAlert::Notify, get:
Assertion failed: -alertnotify did not warn of up-version blocks

Before adding code to only alert once:
Assertion failed: -alertnotify excessive warning of up-version blocks

After final code in this pull:
Tests successful
Merge pull request #5059

dbca89b Trigger -alertnotify if network is upgrading without you (Gavin Andresen)
e01a793 Refactor -alertnotify code (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
Merge pull request #5032

4bd1185 Qt: allow "emergency" shutdown during startup (Philip Kaufmann)
Travis: Descriptive build names
Merge pull request #5072

caecb42 Travis: Descriptive build names (Luke Dashjr)
qt: add network-specific style object

Mainly cleanups: Gets rid of isTestNet everywhere, by keeping track
of network-specific theming in a central place.

Also makes GUI no longer dependent on the network ID enumeration, which
alleviates concerns about #4802.
Move checkpoint data selection to chainparams
Add fTestnetToBeDeprecatedFieldRPC to CChainParams
Remove CChainParams::NetworkID()
Merge pull request #4802

6fd546d Remove CChainParams::NetworkID() (jtimon)
cc97210 Add fTestnetToBeDeprecatedFieldRPC to CChainParams (jtimon)
e11712d Move checkpoint data selection to chainparams (jtimon)
6de50c3 qt: add network-specific style object (Wladimir J. van der Laan)
SQUASHME: NetworkIdFromCommandLine() function instead of method
build: fix dynamic boost check when --with-boost= is used
build: fix qt test build when libprotobuf is in a non-standard path
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.