Add unauthenticated HTTP REST interface to public blockchain data.
travis: install less packages from apt-get
script: create sane error return codes for script validation and remove logging

Attempt to codify the possible error statuses associated with script
validation. script/types.h has been created with the expectation that it will
be part of the public lib interface. The other flag enums will be moved here in
a future commit.

Logging has also been removed in order to drop the dependency on core.h. It can
be re-added to bitcoind as-needed. This makes script verification finally free
of application state and boost!
script: check ScriptError values in script tests
Bugfix: Clarify coin control dialog labels
Coin Control: Make list mode default
Merge pull request #5212

219a147 script: check ScriptError values in script tests (Cory Fields)
ab9edbd script: create sane error return codes for script validation and remove logging (Cory Fields)
Merge pull request #5297

096efc5 travis: install less packages from apt-get (Cory Fields)
Merge pull request #5290

5d60b69 Coin Control: Make list mode default (Luke Dashjr)
4ff81d6 Bugfix: Clarify coin control dialog labels (Luke Dashjr)
Merge pull request #2844
HTTP REST: minor fixes

1) const-ify internal helper ParseHashStr()

2) use HTTPError() helper when returning HTTP_NOT_FOUND
Properly lock cs_main in rest_block
Merge pull request #5301
Abstract context-dependent block checking from acceptance
CreateNewBlock and miner_tests: Also check generated template is valid by CheckBlockHeader, ContextualCheckBlockHeader, CheckBlock, and ContextualCheckBlock
TestBlockValidity function for CBlock proposals (used by CreateNewBlock)
miner_tests: Disable checkpoints so they don't fail the subsidy-change test
Abstract DecodeHexBlk and BIP22ValidationResult functions out of submitblock
Implement BIP 23 Block Proposal
QA RPC tests: Add tests block block proposals