[Qt] small .ui cleanup for optionsdialog and coincontrol

Conflicts:
	src/qt/forms/optionsdialog.ui
Fix crash in importwallet and dumpwallet formatting

- DecodeDumpTime was passing a statically allocated facet object to
  std::locale. However, "The constructed locale object takes over
  responsibility for deleting this facet object." causing a free()
  crash on scope exit. Fixes #3670.

- EncodeDumpTime was using the wrong format character for dates
  (appears accidentally introduced in 51ed9ec9)
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.
Display progress of rescan.

Conflicts:
	src/wallet.cpp
Add progress to initial display of latest block downloaded.
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.
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'.
fix broken link to contrib/devtools
Get rid of C99 PRI?64 usage in source files

Amend to d5f1e72. It turns out that BerkelyDB was including inttypes.h
indirectly, so we cannot fix this with just macros.

Trivial commit: apply the following script to all .cpp and .h files:

    # Middle
    sed -i 's/"PRIx64"/x/g' "$1"
    sed -i 's/"PRIu64"/u/g' "$1"
    sed -i 's/"PRId64"/d/g' "$1"
    # Initial
    sed -i 's/PRIx64"/"x/g' "$1"
    sed -i 's/PRIu64"/"u/g' "$1"
    sed -i 's/PRId64"/"d/g' "$1"
    # Trailing
    sed -i 's/"PRIx64/x"/g' "$1"
    sed -i 's/"PRIu64/u"/g' "$1"
    sed -i 's/"PRId64/d"/g' "$1"

After this commit, `git grep` for PRI.64 should turn up nothing except
the defines in util.h.

Conflicts:
	src/main.cpp
	src/miner.cpp
Some more PRI?64
Remove definition of PRI?64 in util.h

This was a bad idea. This can't be solved with macros as any
other library that includes inttypes.h will get in the way.

The parent commit has removed all usages from the source, this commit
removes the definition.
Test for walletbackup/walletdump RPC calls
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.

Conflicts:
	doc/build-osx.md
	doc/release-process.md
	share/qt/clean_mac_info_plist.py
Fix bitcoin-cli exit status code