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.
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.
addrman: Do not propagate obviously poor addresses onto the network
Add bitcoin-tx tests

Testing: delin, delout, locktime, and basic createrawtransaction-like
functionality.
Remove link to now removed Windows Build Notes

Removed in
Merge pull request #4736

5d9f22b Remove link to now removed Windows Build Notes (Michael Ford)
Merge pull request #4733
Build-osx: Force Fix.

Removes the unnecessary directions that encourage people to force install openssl into /usr/local with Homebrew. Unnecessary, and potentially quite risky. @theuni okayed this removal [here](https://github.com/bitcoin/bitcoin/pull/4740#issuecomment-53076840).
Build-osx: Force Fix.

Kills the "make" line as well.
Merge pull request #4753

df920c6 Build-osx: Force Fix. (Dominyk Tiller)
5a61553 Build-osx: Force Fix. (Dominyk Tiller)
Merge pull request #4718

88fe88c gui: remove redundant numTransactions tracking (Wladimir J. van der Laan)
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)