Add 'invalidateblock' and 'reconsiderblock' RPC commands.

These can be used for testing reorganizations or for manual intervention in case of
chain forks.
Delay writing block indexes in invalidate/reconsider
[REST] make selection of output-format mandatory, support dot url syntax

1. Remove the default format (binary) because `rest/block/<hash>/Hex` would end up delivering binary data.
2. List available formats when chosen format was not found (reduces need for documentation)
3. Change url syntax to dot extension like format chosing (like `rest/tx/<hash>.json`
Extra explanation for getchaintips
Use deterministically generated script tests

Now that signing is deterministic, we can require exact correspondence between the
automatically generated tests and the ones read from JSON. Do this, and update
the tests to those deterministic versions. Note that some flag changes weren't
correctly applied before.
Move CHECKMULTISIG order tests out of automatically generated block
Make comments in main an init doxygen compatible

Fix typos where appropriate
Update license/copyright
Merge pull request #5376

8a5c951 [REST] make selection of output-format mandatory, support dot url syntax (Jonas Schnelli)
Fix rest.py test after #5376
Test resurrecting memory pool transactions during chain re-org

Builds on #5316.
Merge pull request #5369

b2d0162 Test resurrecting memory pool transactions during chain re-org (Gavin Andresen)
3dd8ed7 Delay writing block indexes in invalidate/reconsider (Pieter Wuille)
798faec Add 'invalidateblock' and 'reconsiderblock' RPC commands. (Pieter Wuille)
Add 0.10 release notes on improvement to signing security.

I dropped mention of libgmp that I had in my first draft because
it looks like we'll be able to get that out prior to release.
Merge pull request #5401

362001c Move CHECKMULTISIG order tests out of automatically generated block (Pieter Wuille)
f67a9ce Use deterministically generated script tests (Pieter Wuille)
Coinbases-in-mempool regression test

Immature coinbase spends are allowed in the memory pool if they can be mined in the next block.
They are not allowed in the memory pool if they cannot be mined in the next block.

This regression test tests those edge cases.
Merge pull request #5406

5fdbe67 Add 0.10 release notes on improvement to signing security. (Gregory Maxwell)
Merge pull request #5400

32b93a1 Extra explanation for getchaintips (Pieter Wuille)
Merge pull request #5403

c5b390b Make comments in main an init doxygen compatible (Michael Ford)
Merge pull request #5407

9e56532 Coinbases-in-mempool regression test (Gavin Andresen)
Merge remote-tracking branch 'bitcoin/master'