Per-peer block download tracking and stalled download detection.

Keep track of which block is being requested (and to be requested) from
each peer, and limit the number of blocks in-flight per peer. In addition,
detect stalled downloads, and disconnect if they persist for too long.

This means blocks are never requested twice, and should eliminate duplicate
downloads during synchronization.
always show syncnode in getpeerinfo (fixes #2717)
Display progress of rescan.
Add progress to initial display of latest block downloaded.
convert tabs to whitespace in bitrpc.py

This is a minor change to bitrpc.py to conform with the formatting of
the other python source code in the repo.
move wallet info stuff to "getwalletinfo" rpc (left original wallet
stuff in getinfo call for backwards compatibility)

add wallet transaction count to getwalletinfo rpc call
Fix typo in doc/build-unix.md regarding building without UPnP
replace custom GetFilesize() with boost::filesystem::file_size()
[Qt] show number of in/out connections in debug console
update bash-completion for v0.9

Recognize completable arguments of new and expanded commands.
Now that bitcoin-cli(1) exists, add completion for it as well.
Total money limit test

Added bounds check by @il--ya.

Updated-by: Wladimir van der Laan <laanwj@gmail.com>
Fix null pointer in IsTrusted()
Log which wallet is used during init

Now that the wallet can be selected using -wallet it is important
to log which wallet is being used for later troubleshooting.
Slightly tweak error when unable to bind port

A slight improvement over 2d2d8fae3d8bc4e82dc631d93c6e19f954bbee04 -- we don't know that it's the daemon, it could be the GUI.
Merge pull request #3804

ba51c7d Fix null pointer in IsTrusted() (Cozz Lovan)
Update the list of threads to the current state.
gui: Prevent status icons from being cut off

After the Qt5 switch, status icons were being cut off by 1-2px.

Also fixes some other cases where the UI is slightly off mentioned in #3800.

Fixes #3800.
Merge pull request #3809

1bcf81e gui: Prevent status icons from being cut off (Wladimir J. van der Laan)
Merge pull request #3805

8a6894c Log which wallet is used during init (Wladimir J. van der Laan)
Merge pull request #3768

fecba4e Total money limit test (Pieter Wuille)