Remove tx from AlreadyAskedFor list once we receive it, not when we process it.
Fixes ignored qt 4.8 codecs path on windows when configuring with --with-qt-libdir
[Qt] ensure all class attributes are init to 0

- in BitcoinGUI and UnitDisplayStatusBarControl
[Qt] use BitcoinGUI::DEFAULT_WALLET constant in bitcoin.cpp
[Qt] disable tray interactions when client model set to 0

- this prevents the ability to fiddle around with the system tray when
  already shutting down (e.g. on slow shutdowns because of a proxy delay)
- extends solution for #4360
Simplify serialize.h's exception handling

Remove the 'state' and 'exceptmask' from serialize.h's stream implementations,
as well as related methods.

As exceptmask always included 'failbit', and setstate was always called with
bits = failbit, all it did was immediately raise an exception. Get rid of
those variables, and replace the setstate with direct exception throwing
(which also removes some dead code).

As a result, good() is never reached after a failure (there are only 2
calls, one of which is in tests), and can just be replaced by !eof().

fail(), clear(n) and exceptions() are just never called. Delete them.
remove unused class CAddrMan; from db.h
Make CCryptoKeyStore::Unlock check all keys.

CCryptoKeyStore::Unlock has a loop to attempt decrypting each key which
 only executes once, likely due to a simple mistake when the code was
 originally written.

This patch fixes the behavior by making it check all keys. It also adds
 a fatal assertion in the case some decrypt but some do not, since that
 indicates that the wallet is in some kind of really bad state.

This may make unlocking noticeably slower on wallets with many keys.
Dont run full check every time we decrypt wallet.
Add a getutxos command to the p2p protocol. It allows querying of the UTXO set
given a set of outpoints.
Add boolean HaveWatchonly and signal NotifyWatchonlyChanged
[Qt] Add column Watch-only to transactions list
[Wallet] Improve ReorderTransactions(..)
ui_interface: remove unused NotifyBlocksChanged signal
Create new signal for notification of new blocks.  Use w/ -blocknotify
build: Fix boost build on some platforms

When the libpath doesn't line up with the value from config.sub, we don't find
the correct path to boost's libs. This adds a hack to try another path before
giving up.

Should close #3219.
Clean-up SyncWithWallets/SyncTransaction
[Qt] Revert overviewpage from QFormLayout to QVBoxLayout
gui: remove redundant numTransactions tracking

This number was still tracked even though it's shown nowhere in the UI
anymore. It was originally removed because it didn't match the actual number of
records in the view (which contains outputs, not transactions) thus was
confusing people.
Univalue: Do not build JSON escape list at runtime

No need to waste startup time building something that can be done
at compile time.

This also resolves a clang++ warning originally reported in #4714,
univalue/univalue_write.cpp:33:12: warning: array subscript is of type 'char
escapes['"'] = "\\"";
^~~~

etc.