[Qt] light blue icon color for regtest

Changing the icons color for regtest in now lightweight.
Make pass-by-ref arguments const.

Make some of the arguments in rest.cpp, that are passed by
reference but never modified, const to emphasise that.
Merge pull request #5488

ff63801 [Qt] light blue icon color for regtest (Jonas Schnelli)
make all catch() arguments const

- I saw this on http://en.cppreference.com/w/cpp/language/try_catch and
  thought it would be a good idea
- also unify used format to better be able to search for exception
  uses in our codebase
Merge pull request #5438

27df412 make all catch() arguments const (Philip Kaufmann)
Merge pull request #5484

7c8e4c5 Make pass-by-ref arguments const. (Daniel Kraft)
Split logic to undo txin's off DisconnectBlock.

Instead, create a separate function that applies the undo operation of a
CTxInUndo object onto a CCoinsViewCache.  This method is used from
DisconnectBlock.
Abstract the block version.

Wrap CBlockHeader::nVersion into a new class (CBlockVersion).  This
allows to take care of interpreting the field into a base version,
auxpow flag and the chain ID.
Accept auxpow as PoW verification.
Add unit tests for auxpow verification.
Fix after rebase.
Weaken auxpow chain ID checks for the testnet.

Allow Params() to overrule when to check the auxpow chain ID and for
legacy blocks.  Use this to disable the checks on testnet.
Add check for memory-layout of CBlockVersion.
Introduce CPureBlockHeader.

Split the block header part that is used by auxpow and the "real" block
header (that uses auxpow) to resolve the cyclic dependency between the
two.
Implement getauxblock plus regression test.
Correctly set the coinbase for getauxblock results.

Call IncrementExtraNonce in getauxblock so that the coinbase is actually
initialised with the stuff it should be.  (BIP30 block height and
COINBASE_FLAGS.)
Fix REST header check for auxpow headers.

Those can be longer, thus take that into account.  Also perform the
check actually on an auxpow header.