Fixes error
Only keep setBlockIndexValid entries that are possible improvements
Reject transactions with excessive numbers of sigops
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
contrib: remove getwork-based pyminer

As the `getwork` API doesn't exist anymore, currently this script is useless.

It would be nice to have a `getblocktemplate`-based Python example of a
miner, but there is no point in keeping this one around except to
confuse people.
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
bitcoin-cli, rpcrawtransaction: harmonize "{" styling