Avoid Redefinition of Insert in serialize
fix build with qt5
disable synchronized checkpoints

Conflicts:
	src/checkpoints.cpp
	src/init.cpp
Drop release times for CNode

It seems there were two mechanisms for assessing whether a CNode
was still in use: a refcount and a release timestamp. The latter
seems to have been there for a long time, as a safety mechanism.

However, this timer also keeps CNode objects alive for far longer
than necessary after disconnects, potentially opening up a DoS
window.

This commit removes the timestamp-based mechanism, and replaces
it with an assert(nRefCount >= 0), to verify that the refcounting
is indeed correctly working.

Conflicts:
	src/net.h
-alertnotify=<cmd>

Runs a shell command when an AppliesToMe() alert is received.
%s in the <cmd> string is replaced with the alert.strStatusBar
message.

Conflicts:
	src/init.cpp
	src/test/alert_tests.cpp
	src/test/data/alertTests
RPC: Forbid RPC username == RPC password

Added security measure.

Conflicts:
	src/bitcoinrpc.cpp
Recommend alertnotify
Rename util.h Sleep --> MilliSleep

Two reasons for this change:
1. Need to always use boost::thread's sleep, even on Windows, so the
sleeps can be interrupted (prior code used Windows' built-in Sleep).

2. I always forgot what units the old Sleep took.

Conflicts:
	src/init.cpp
	src/miner.cpp
Allow the default key to be unavailable

This solves the issue where no default key can be added after -salvagewallet.

Conflicts:
	src/miner.cpp
Squashed 'src/leveldb/' changes from 9094c7f..7924331

42dcc7e Merge upstream LevelDB 1.17.
e353fbc Release LevelDB 1.17
269fc6c Release LevelDB 1.16
REVERT: 9094c7f Temporarily revert to writing .sst files instead of .ldb

git-subtree-dir: src/leveldb
git-subtree-split: 79243314e40ac31d79c68e5658a1d6a64800d50b

Conflicts:
	src/leveldb/Makefile
	src/leveldb/db/filename.cc
	src/leveldb/include/leveldb/db.h
json_spirit: #include <stdint.h>
switch from boost int types to <stdint.h>

Conflicts:
	src/rpcblockchain.cpp
	src/rpcclient.cpp
	src/rpcmining.cpp
	src/rpcmisc.cpp
	src/rpcnet.cpp
	src/rpcrawtransaction.cpp
	src/rpcwallet.cpp
Check redeemScript size does not exceed 520 byte limit

redeemScripts >520bytes can't be spent due to the
MAX_SCRIPT_ELEMENT_SIZE limit; previously the addmultisigaddress and
createmultisig RPC calls would let you violate that limit unknowingly.

Also made the wallet code itself check the redeemScript prior to adding
it to the wallet, which in the (rare) instance that a user has added an
invalid oversized redeemScript to their wallet causes an error on
startup. The affected key isn't added to the wallet; other keys are
unaffected.

Conflicts:
	src/keystore.cpp
	src/rpcmisc.cpp
	src/rpcwallet.cpp
Fix warning when compiling in OS X

Conflicts:
	src/qt/notificator.cpp
Qt: Fix monospace font in osx 10.9

The "Monospace" hint was added in Qt 4.8, and it works as intended as opposed
to "TypeWriter" which fails to load a font.
[Qt] Fix Start bitcoin on system login
remove LookupHostNumeric( ) which is never used
remove GetMedianTime( ) which is never used

Conflicts:
	src/main.cpp
	src/main.h
remove CPubKey::VerifyCompact( ) which is never used

Conflicts:
	src/key.cpp
	src/key.h
remove LogException( ) which is never used

Conflicts:
	src/util.cpp
	src/util.h