Relax IsStandard rules for pay-to-script-hash transactions

Relax the AreInputsStandard() tests for P2SH transactions --
allow any Script in a P2SH transaction to be relayed/mined,
as long as it has 15 or fewer signature operations.

Rationale: https://gist.github.com/gavinandresen/88be40c141bc67acb247

I don't have an easy way to test this, but the code changes are
straightforward and I've updated the AreInputsStandard unit tests.
ensure clean and consistent "namespace" usage

- remove some missplaced ;
- ensure end of a namespace is clearly visible
- use same formatting when using namespace
update coding.md to reflect changes by pull

- also mention alphabetical include ordering
Simplify build instructions
set shutdown title to main window title

- this ensures we don't show Bitcoin-Qt as that is still our
  internal application name
- fixes #4427
Merge pull request #4365 from gavinandresen/relax_isstandard

Relax IsStandard rules for pay-to-script-hash transactions
CBloomFilter::clear() method
Relay double-spends, subject to anti-DOS

Allows network wallets and other clients to see transactions that respend
a prevout already spent in an unconfirmed transaction in this node's mempool.

Knowledge of an attempted double-spend is of interest to recipients of the
first spend.  In some cases, it will allow these recipients to withhold
goods or services upon being alerted of a double-spend that deprives them
of payment.

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

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.

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

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 and new RPC data

-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 malleated clones that are included
in the walletconflicts array.

Add RPC help for respendsobserved and walletconflicts (help was missing
for the latter).
Add release notes entry
Merge pull request #4430

33c62c9 set shutdown title to main window title (Philip Kaufmann)
Formatting, spelling, comment fixes.
Show only one zero instead of many when getblocks request received with a hashStop of uint256(0)
Display unknown commands received.
doc: Add historical release notes for 0.9.2

Also includes 0.9.2.1
Merge pull request #4434

3f1ea91 doc: Add historical release notes for 0.9.2 (Michael Ford)
Merge pull request #3990

0dd5d3a Show only one zero instead of many when getblocks request received with a hashStop of uint256(0) (R E Broadley)
Update OS X build instructions

Update OpenSSL version
Homebrew is now the preferred dependancy manager
Replace HexBits with strprintf