doc: mention consensus library in release notes
doc: mention P2SH IsStandard relaxation in release notes
doc: add bitcoin-tx section to release notes
Fix CScriptID(const CScript& in) in empty script case

Previously an empty script wouldn't be hashed, and CScriptID would be
assigned the incorrect value of 0 instead. This bug can be seen in the
RPC decodescript command:

    $ btc decodescript ""
    {
        "asm" : "",
        "type" : "nonstandard",
        "p2sh" : "31h1vYVSYuKP6AhS86fbRdMw9XHieotbST"
    }

Correct output:

    $ btc decodescript ""
    {
        "asm" : "",
        "type" : "nonstandard",
        "p2sh" : "3J98t1WpEZ73CNmQviecrnyiWrnqRhWNLy"
    }

Rebased-From: d78f0dafd520f481f909cca7e361a4e482cbea72
Github-Pull: #5541
gitian: attempt to fix tarball determinisim

Rebased-From: 566c6cb8a2a277d9c5e4897ad02c5bb15786523c
Github-Pull: #5536
en: Avoid ambiguous language regarding when transactions confirm

Rebased-From: a15dba5dff1229b67ff44bf16ff14063e885f376
Github-Pull: #5533
Release notes: formatting, headers-first, rest
Relay double-spends, subject to anti-DOS
As an alert, relay at most one transaction that respends a prevout already
spent in an unconfirmed transaction in this node's mempool.

As before, respends are not added to the mempool.

Anti-Denial-of-Service-Attack provisions:
 - Use a bloom filter to relay only one respend per mempool prevout
 - Rate-limit respend relays to a default of 100 thousand bytes/minute
 - Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered
 - Do not relay these equivalent transactions
 - Do not allow relayed respends into our wallet unless they conflict with it,
   even if they pay us.  This addresses a resource exhaustion attack

CWallet::SyncMetaData is changed to sync only to equivalent transactions.

Remove an unused variable declaration in txmempool.cpp.
UI to alert of respend attempt affecting wallet.

Respend transactions that conflict with transactions already in the
wallet are added to it.  They are not displayed unless they also involve
the wallet, or get into a block.  If they do not involve the wallet,
they continue not to affect balance.

Transactions that involve the wallet, and have conflicting non-equivalent
transactions, are highlighted in red.  When the conflict first occurs, a
modal dialog is thrown.

When a conflict is added to the wallet, counter nConflictsReceived is
incremented.  This acts like a change in active block height for the
purpose of triggering UI updates.
Add -respendnotify option, new RPC data, reg test

-respendnotify=<cmd> Execute command when a network tx respends wallet
tx input (%s=respend TxID, %t=wallet TxID)

Add respendsobserved array to gettransaction, listtransactions, and
listsinceblock RPCs.  This omits the malleability clones that are included
in the walletconflicts array.

Add RPC help for respendsobserved and walletconflicts (help was missing
for the latter).

New test doublespendrelay.py uses a 4-node network to test 5 relay
scenarios.