Fix for crash during block download
Fix -loadblock after shutdown during IBD
Be a bit more verbose during -loadblock if we already have blocks
boost: moveonly: create eccryptoverify.h|cpp and move helper functions there

Eventually (after 0.10) these files will hold the logic for crypto
verification routines, and CKey/CPubKey will call into them.
boost: moveonly: move BIP32Hash to hash.h
boost: moveonly: split CPubKey and friends to new files
util.cpp comment correction
Fix all header defines
Merge pull request #5162

d2e74c5 boost: moveonly: split CPubKey and friends to new files (Cory Fields)
78c228c boost: moveonly: move BIP32Hash to hash.h (Cory Fields)
900078a boost: moveonly: create eccryptoverify.h|cpp and move helper functions there (Cory Fields)
Merge pull request #5196

8473862 Fix all header defines (Pavel Janík)
Merge pull request #5191

a2cfae8 util.cpp comment correction (21E14)
minor code style cleanup after recent merges

- add a missing license header
- correct some header orderings etc.
Merge pull request #5205

b4347f6 minor code style cleanup after recent merges (Philip Kaufmann)
build: Fix "too many arguments" error

Closes #5141
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.
Merge pull request #5007

af82884 Add "warmup mode" for RPC server. (Daniel Kraft)
depends: boost: hard-code hidden symbol visibility

tl;dr: This solves boost visibility problems for default/release build configs
on non-Linux platforms.

When Bitcoin builds against boost's header-only classes, it ends up with
objects containing symbols that the upstream boost libs also have. Since
Bitcoin builds by default with hidden symbol visibility, it can end up trying
to link against a copy of the same symbols with default visibility.
This is not a problem on Linux because 3rd party static libs are un-exported
by default (--exclude-libs,ALL), but that is not available for MinGW and OSX.

Those platforms (and maybe others?) end up confused about which version to use.

The OSX linker spews hundreds of: "ld: warning: direct access in <foo> to
global weak symbol guard variable for <bar> means the weak symbol cannot be
overridden at runtime. This was likely caused by different translation units
being compiled with different visibility settings."

MinGW's linker complains similarly.

Since the default symbol visibility for Bitcoin is hidden and releases are
built that way as well, build Boost with hidden visibility. Linux builds Boost
this way also, but only for the sake of continuity.

This means that the linker confusion logic is reversed, so the problem will
will now be encountered if Bitcoin is built with --disable-reduce-exports, but
that's better than the current situation.
Merge pull request #5173

50b43fd Be a bit more verbose during -loadblock if we already have blocks (Matt Corallo)
8375e22 Fix -loadblock after shutdown during IBD (Matt Corallo)
4ead850 Fix for crash during block download (Matt Corallo)
Qt: Network-Traffic-Graph: make some distance between line and text

Text directly glued on the graph-line looks not so good.
Qt: Add support for missing scrollbar in peers table