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
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.
replace int with size_t in stream methods

Thus the read(...) and write(...) methods of all stream classes now have identical parameter lists.
This will bring these classes one step closer to a common interface.
addrman: Do not propagate obviously poor addresses onto the network
Fix github-merge with git version 2.1.0

Running git version 2.1.0 on OSX (homebrew), I get
  fatal: '1q': not a non-negative integer

I'm guessing git command-line parsing got more strict recently?
Add bitcoin-tx tests

Testing: delin, delout, locktime, and basic createrawtransaction-like
functionality.
UniValue: use correct setNumStr() input val, when setting number values
UniValue: compact (!pretty) output should not include extra whitespace
UniValue: add unit tests
UniValue tests: use more BOOST_CHECK()
Remove print() from core functions

Break dependency on util.
Move strprintf define to tinyformat.h

This avoids a dependency on util.h if just tinyformat is needed.