Fixes error
Only keep setBlockIndexValid entries that are possible improvements
Reject transactions with excessive numbers of sigops
Remove tx from AlreadyAskedFor list once we receive it, not when we process it.
additional test for OP_SIZE in script_valid.json
script tests: BOOLAND, BOOLOR decode to integer

unlike other boolean checks, arguments >5 bytes invalidate the script
script tests: values that overflow to 0 are true
script tests: value with trailing 0x00 is true
script test: test case for 5-byte bools
script tests: add tests for CHECKMULTISIG limits
CBloomFilter::clear() method
Rework block processing benchmark code

* Replace -benchmark (and the related fBenchmark) with a regular debug option, -debug=bench.
* Increase coverage and granularity of individual block processing steps.
* Add cummulative times.
Fixed a bug with index bounds checking
Fix minor bug which only affected log messages.
Update coding style and add .clang-format
Remove hopelessly outdated build-msw.md

Anyone building bitcoind/-qt on windows is welcome to contribute
a new one. The current information in this document is outdated,
or otherwise mostly worthless.
Avoid querying DNS seeds, if we have open connections.

The goal is to increase independence and privacy.
Consolidate CTransaction hex encode/decode into core_io.h, core_{read,write}.cpp
Move ParseScript() helper, becoming accessible outside src/test/
core_read's ParseScript(): minor cleanups

- use .empty() rather than .size() == 0
- use a const_iterator rather than BOOST_FOREACH
- validate iterators before creating a string from them