Detect double spends, and fire a DetectedDoubleSpend signal

Detects two double-spend conditions:
1) Receive a transaction that conflicts with a mempool transaction
2) New block contains a transaction that conflicts with a mempool transaction

... and fires a new signal. Future commits will use this signal handler
to note the double-spend attempt if the transactions are in our wallet,
and will relay first double-spends.
CBloomFilter::clear() method
Relay first-double-spend transactions

Instead of dropping double-spent transactions, relay them to peers.
Why? To make it easier for merchants to quickly detect attempted
fraud for low-value, in-person purchases.

A bloom filter is used so that only the first double-spend is
relayed, to prevent an attacker from mounting a network
denial-of-service attack by flooding it with double-spends of
a transaction output they control.
always show syncnode in getpeerinfo (fixes #2717)
replace custom GetFilesize() with boost::filesystem::file_size()
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.
Add script test to prove that OP_0 evaluates as the empty vector, rather than [0].
[Qt] Fix coin control qt5 checkbox bug in tree mode
minor style cleanups
Fix missing wallet lock in CWallet::SyncTransaction(..)
Merge pull request #3808 from paveljanik/master

DOC: Update the list of threads to the current state.
[Qt] Fill in label from address book also for URIs
Merge pull request #3841 from schildbach/script-tests-OP_0

Add script test to prove that OP_0 evaluates as the empty vector.
Adjust branding in datadir lock error message
Merge branch 'first_double_spend' of
https://github.com/gavinandresen/bitcoin-git into first_double_spend

Conflicts:
	src/main.cpp
	src/txmempool.cpp
	src/txmempool.h

Removed Gavin's early version of removed-transaction feedback from
CTxMemPool::removeConflicts.

Removed unused local variable "result" from same function.
Merge pull request #3846

3f2a017 [Qt] Fix coin control qt5 checkbox bug in tree mode (Cozz Lovan)
Merge pull request #3849 from cozz/cozz2

Fix missing wallet lock in CWallet::SyncTransaction(..)
Add a "relayfee" field to getinfo.

This shows the minimum relay fee for non-free transactions in btc/kb.

The armory developers requested this so that they can prevent users from
 creating transactions that not even their local bitcoind will relay.

This also slightly reorders the getinfo output so that the fee related
 lines are grouped and changes the help text to reflect that the units
 are btc/kb.
qt: Show also value for options overridden on command line

Currently only the name of the option is shown for GUI options
overridden by command line (or configuration file). This commit
adds the value of the options as well, which is useful for
troubleshooting.