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
Fix coin control sorts date as text
build: Version bump to 0.9.99, disable IS_RELEASE

`master` is not a release. Use the same convention as before and label
these intermediate builds as x.x.99.
Merge pull request #3784

dc01ba7 Fix coin control sorts date as text (Cozz Lovan)
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.
Bitcoin is running fine...

When bitcoind can't bind, bitcoin server (or Bitcoin Core Daemon) is probably already running. Add the missing word "server". Bitcoin itself is definitely running ;-)

Add _(...) so the string can be localized.

I apologize for such trivial changes, learning github interface.
Clarify the error message when unable to bind to port
Merge pull request #3798

2d2d8fa Clarify the error message when unable to bind to port (paveljanik)
094eeff Bitcoin is running fine... (paveljanik)
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.