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.
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
Clean-up SyncWithWallets/SyncTransaction
addrman: Do not propagate obviously poor addresses onto the network
build: work around ccache/autotools warning-spamming bug

When using clang and ccache, builds spew lots of:
Clang: warning: argument unused during compilation

Upstream bug: https://bugzilla.samba.org/show_bug.cgi?id=8118

This is harmless, bug annoying. If ccache is being used and the
-Qunused-arguments flag is supported (clang), use it.
depends: add a fallback path in case package sources go missing

If a source url fails to download, try again at
$FALLBACK_DOWNLOAD_PATH/file.name, where FALLBACK_DOWNLOAD_PATH can be
overridden by the user.
Merge pull request #4632
Merge pull request #4618

eb0b56b Simplify serialize.h's exception handling (Pieter Wuille)
Allow BatchWrite to destroy its input, reducing copying
Make CScript::clear() release its memory
Update linearize scripts.

Break into two steps:
* Generate hash list
* Build data file(s) from local bitcoind blocks/ directory.

This supports building one large bootstrap.dat, or multiple
smaller blocks/blkNNNNN.dat files.
contrib/linearize: split output files based on new-timestamp-year or max-file-size
Merge pull request #4757
Merge pull request #4683

fff7455 Make CScript::clear() release its memory (Pieter Wuille)
b0875eb Allow BatchWrite to destroy its input, reducing copying (Pieter Wuille)