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
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.
Update the list of threads to the current state.
AddToWallet implies BindWallet

Now that AddToWallet is called when loading transactions from the
wallet database, BindWallet can be integrated into that and does not
need to be an extra step.

Leaves behaviour unchanged, but makes the
fFromLoadWallet/!fFromLoadWallet paths in AddToWallet a bit more
symmetric.
Remove unused includes of boost lexical_cast

We don't use lexical_cast anywhere, no need to include it.
MainNet is the special case for the GUI
Minor code cleanup: remove indentation

This indentation should have been stripped out when AreInputsStandard was made a top-level function instead of a CTransaction method.
Merge pull request #3823

89ec3a2 MainNet is the special case for the GUI (jtimon)
Merge pull request #3817

e935293 Minor code cleanup: remove indentation (Mark Friedenbach)
Merge pull request #3773

947e23d Fix typo in doc/build-unix.md regarding building without UPnP (Rune K. Svendsen)
Merge pull request #3751

b881100 convert tabs to whitespace in bitrpc.py (Bryan Bishop)
Merge pull request #3685

8e29623 [Qt] show number of in/out connections in debug console (Philip Kaufmann)