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.
[Qt] add messages when handling local payment request files

- important for the open URI dialog to give users feedback
  when a file is invalid etc.
Don't create empty transactions when reading corrupted wallet

The current transaction loading code is not exception safe.
An exception during deserialization causes an empty transaction
to be left behind in the wallet.

Fix this by building the transaction separately and adding
it only to the wallet at the end.

Fixes #3333.
Use mutex pointer instead of name for AssertLockHeld

This makes it useable for non-global locks such as the wallet and
keystore locks.
Document cs_wallet lock and add AssertLockHeld

Add locking assertions to wallet to all methods that
access internal fields and do not aquire the cs_wallet mutex.
LoadWallet: acquire cs_wallet mutex before clearing setKeyPool

Make the function mutex-aware, to prevent having to lock cs_wallet
at the call site in Init.
Allow `-noserver` with bitcoind

Allow running bitcoind without server.

- Default to -server mode (of course) for bitcoind with SoftSetBoolArg
- Remove fForceServer argument from AppInit2
- Move fDaemon to a static variable in bitcoind
Win32: use a more modern API call in FileCommit()

- this seems to be a more recent API call and also supports e.g. SMB3,
  ReFS, which is not guaranteed for commit_()
- link to MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/aa364439%28v=vs.85%29.aspx
Changed Get64(.) to GetLow64()

The function Get64(.) has a bug in case the width is not divisible by 64.
Since it is only ever used as Get64(0) this simply changes it to this
special case. Additionally, an assert is added, and a cast to prevent
a compiler error.
Unittests for uint256.h

Unit tests for uint256.h. The file uint160_tests.cpp is no longer
needed. The ad-hoc tests which were in uint256.h are also no longer
needed. The new tests achieve 100% coverage.
Update debian/
"getnetworkhashps" with defaults was yielding "0", the hashrate is not 0.

This was broken in 4c6d41b8b653ef90639b1a32f6aab0bb1cef90c5.
Merge pull request #3474

aec55a0 "getnetworkhashps" with defaults was yielding "0", the hashrate is not 0. (Gregory Maxwell)
ui: Fix GUI initialization order

Fixes at least #3478.

Splits and documents the phases:
1. Parse command-line options. These take precedence over anything else.
2. Basic Qt initialization (not dependent on parameters or configuration)
3. Application identification
4. Initialization of translations
5. Now that settings and translations are available, ask user for data directory
6. Determine availability of data directory and parse bitcoin.conf
7. URI IPC sending
8. Main GUI initialization

Splits command line parsing logic from ipcSendCommandLine into
ipcParseCommandLine, as isTestNet() can only be overridden in the early
stages before choosing a data directory. Sending however needs to happen
after choosing a data directory.
Merge pull request #3468

4d46da2 Update debian/ (Matt Corallo)
Merge pull request #3422

daa6b20 Unittests for uint256.h (Thomas Holenstein)
e85e19b Changed Get64(.) to GetLow64() (Thomas Holenstein)
Merge pull request #3401

012ca1c LoadWallet: acquire cs_wallet mutex before clearing setKeyPool (Wladimir J. van der Laan)
9569168 Document cs_wallet lock and add AssertLockHeld (Wladimir J. van der Laan)
19a5676 Use mutex pointer instead of name for AssertLockHeld (Wladimir J. van der Laan)
qt: add missing cs_wallet lock in AddressTableModel::setData

duplicate check in AddressTableModel::setData accesses
wallet data structure as well as SetAddressBook without proper LOCK, fix this.
qt: Add missing LOCKs for locked coin functions

These don't aquire the wallet lock internally, so the caller has to do
it.
qt: protect SetAddressBook with cs_wallet lock everywhere