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.
Display progress of rescan.
Add progress to initial display of latest block downloaded.
Document that CPubKey.IsValid() is consensus critical
Require OSX 10.6, 64-bit

Drop support for 32-bit or pre-10.6 Macs.

Also, some of the OSX build docs hadn't been updated since the
autotools change.
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.
Remove CWalletTx::vfSpent

Use the spent outpoint multimap to figure out which wallet transaction
outputs are unspent, instead of a vfSpent array that is saved
to disk.
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
Update build information

Add the command necessary to add ppa repository in Ubuntu

Refs #3757
Re-enable UPnP by default in gitian builds

IIRC this was the case with 0.8.6, so let's keep this to avoid the risk
of losing connectable nodes with 0.9 release.

Also our miniupnpc library was recently updated and I've heard
reports that it works better than before now.
Make tinyformat errors raise an exception instead of assert()ing

By default tinyformat errors such as 'wrong number of conversion
specifiers in format string' cause an assertion failure.

Raise an exception instead so that error handling can recover or can
show an appropriate error.
Merge pull request #3762

93c3e21 Re-enable UPnP by default in gitian builds (Wladimir J. van der Laan)
Merge pull request #3758

f8a7b50 Update build information (Drak)
qt: Modernize 'confirmed' terminology in shown tx status

These days we regard transactions with one confirmation to be
'Confirmed'.
Waiting for 6 confirmations is a recommendation but should not
keep the transaction shown as unconfirmed.

Misc code sanity:

- Merge maturity/status enums, they had become completely disjunct
- 'confirmed' flag is now called 'countsForBalance' for clarity
Merge pull request #3719

f642fd9 qt: Modernize 'confirmed' terminology in shown tx status (Wladimir J. van der Laan)
qttools5-dev is required in order to build with qt5 on debian and ubuntu
Merge pull request #3750 from gavinandresen/osx_minversion

Require OSX 10.6, 64-bit
Merge pull request #3694 from gavinandresen/vfspent

Remove CWalletTx::vfSpent
Merge pull request #3767 from laanwj/2014_02_tinyformat_errors_non_fatal

Make tinyformat errors raise an exception instead of assert()ing
Squashed 'qa/rpc-tests/python-bitcoinrpc/' content from commit e484743

git-subtree-dir: qa/rpc-tests/python-bitcoinrpc
git-subtree-split: e48474322de165212c5aa29574297e78b09df8d6