Make CBlockIndex* returned by GetDepthInMainChain const.

Make the CBlockIndex* (optionally) returned by GetDepthInMainChain
const.  This prevents accidental modification.  The result is for
reading its properties rather than modifying it.
Start with tidier cache directories

Remove more files from the cached, 200-block-chain data directories.
Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2)
Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4)

Also use the new flag as a standard rule, and replace the IsCanonicalPush
standardness check with it (as it is more complete).
Improve CScriptNum() comment

Edited-by: Pieter Wuille <pieter.wuille@gmail.com>
Ensure MINIMALDATA invalid tests can only fail one way

Removes the need for the 'negated' versions of the tests, and ensures
other failures don't mask what we're trying to test.
Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule
Clearly separate PUSHDATA and numeric argument MINIMALDATA tests
Add valid invert of invalid every numeric opcode tests
MOVEONLY: Move CFeeRate and Amount constants to amount.o
MOVEONLY: Separate CTransaction and dependencies from core
MOVEONLY: separate CTxUndo out of core
MOVEONLY: Move script/compressor out of script and put CTxOutCompressor (from
core) with it
MOVEONLY: core.o -> core/block.o
Merge pull request #5139

9f87325 Start with tidier cache directories (Gavin Andresen)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
Merge pull request #5135

a31e8ba Make CBlockIndex* returned by GetDepthInMainChain const. (Daniel Kraft)

Signed-off-by: Gavin Andresen <gavinandresen@gmail.com>
boost: remove CPubKey dependency from CECKey. Follow-up of e405aa48
boost: code movement only: split CECKey into separate files
Merge pull request #5118

50f71cd boost: code movement only: split CECKey into separate files (Cory Fields)
bdaec6a boost: remove CPubKey dependency from CECKey. Follow-up of e405aa48 (Cory Fields)
Merge pull request #5065

16d78bd Add valid invert of invalid every numeric opcode tests (Peter Todd)
2b62e17 Clearly separate PUSHDATA and numeric argument MINIMALDATA tests (Peter Todd)
dfeec18 Test every numeric-accepting opcode for correct handling of the numeric minimal encoding rule (Peter Todd)
554147a Ensure MINIMALDATA invalid tests can only fail one way (Peter Todd)
6004e77 Improve CScriptNum() comment (Peter Todd)
698c6ab Add SCRIPT_VERIFY_MINIMALDATA (BIP62 rules 3 and 4) (Pieter Wuille)
d752ba8 Add SCRIPT_VERIFY_SIGPUSHONLY (BIP62 rule 2) (Pieter Wuille)