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.
[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.
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
Don't reveal whether password is <20 or >20 characters in RPC

As discussed on IRC.

It seems bad to base a decision to delay based on the password length,
as it leaks a small amount of information.
Add "it works" test for bitcoin-tx
bitcoin-tx: Accept input via stdin. Add input handling to tests.
Merge pull request #4624
Merge pull request #4728 from laanwj/2014_08_rpcserver_password_delay

Don't reveal whether password is <20 or >20 characters in RPC
Merge pull request #4717 from cozz/cozz8

[Qt] Revert overviewpage from QFormLayout to QVBoxLayout
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 link to now removed Windows Build Notes

Removed in
Added protobuf-compiler library to the Qt 5 Dependencies