Drop fees by 10x due to the persistently higher exchange rate.

The last fee drop was by 5x (from 50k satoshis to 10k satoshis)
in the 0.8.2 release which was about 6 months ago.

The current fee is (assuming a $500 exchange rate) about 5 dollar
cents. The new fee after this patch is 0.5 cents.

Miners who prefer the higher fees are obviously still able to
use the command line flags to override this setting. Miners who
choose to create smaller blocks will select the highest-fee paying
transactions anyway.

This would hopefully be the last manual adjustment ever required
before floating fees become normal.
Adds additional zero checks for setCompact
 These encoded values should all decode to zero

   Positive Numbers
    0x01003456 (1 byte  0x00)
    0x02000056 (2 bytes 0x0000)
    0x03000000 (3 bytes 0x000000)
    0x04000000 (4 bytes 0x000000_00)

   Negative Numbers
    0x00923456 -(0 bytes, so zero)
    0x01803456 -(1 byte  0x00)
    0x02800056 -(2 bytes 0x0000)
    0x03800000 -(3 bytes 0x000000)
    0x04800000 -(4 bytes 0x000000_00)
Don't store or send side-chain blocks lower than last checkpoint.
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)
Change new constants in txdb.h to int64_t

A shift overflow was happening when using these to check against in init.cpp.
Fixes #3702.
Wallet locking fixes for -DDEBUG_LOCKORDER

Compiling with -DDEBUG_LOCKORDER and running the qa/rpc-test/ regression
tests uncovered a couple of wallet methods that should (but didn't)
acquire the cs_wallet mutext.

I also changed the AssertLockHeld() routine print to stderr and
abort, instead of printing to debug.log and then assert()'ing.
It is annoying to look in debug.log to find out which
AssertLockHeld is failing.
qt: Rename 'Confirmed' balance to 'Spendable' on overview page

The word 'Spendable' more precisely says what the balance actually means.

Avoids the confirmed/unconfirmed confusion that can be caused by #3676.
Merge pull request #3699

ddcabae qt: Rename 'Confirmed' balance to 'Spendable' on overview page (Wladimir J. van der Laan)
Merge pull request #3703

ad54a9b Change new constants in txdb.h to int64_t (Wladimir J. van der Laan)
Display progress of rescan.
Add progress to initial display of latest block downloaded.
Merge pull request #2910

d8b4b49 Don't store or send side-chain blocks lower than last checkpoint. (Ashley Holman)
add test of DecodeBase58 skipping whitespace
script: tighten multisig non-standard rules: do not relay pubkeys above 65 bytes
Remove "conflicted" as transaction category.

We were losing information about sent/received by overriding the
category in case of a conflicted transaction.

Hence, remove the "conflicted" category.

Conflicted status of a transaction can still be determined by looking
for confirmations<0.
gitian: add libz-dev dependency package for linux boost

Boost iostreams was picking up libz-dev in VirtualBox, as the recommended
way to build is now to make a VM with all dependency packages installed.

This caused a divergence between KVM/LXC build and VirtualBox
build results.

Fix this in the simplest possible way: add the libz-dev package.
Merge pull request #3720

b96f6a7 Remove "conflicted" as transaction category. (Wladimir J. van der Laan)
Don't use PRIx64 formatting derives from inttypes.h

As the tinyformat-based formatting system (introduced in b77dfdc) is
type-safe, no special format characters are needed to specify sizes.

Tinyformat can support (ignore) the C99 prefixes such as "ll" but
chokes on MSVC's inttypes.h defines prefixes such as "I64X". So don't
include inttypes.h and define our own for compatibility.

(an alternative would be to sweep the entire codebase using sed -i to
get rid of the size specifiers but this has less diff impact)
Make the signrawtransaction docs explicit that the arguments can be 'null'.