Fix IsInitialBlockDownload which was broken by headers first.
MOVEONLY: Move void UpdateTime() from pow.o to miner.o (plus fix include main.h -> chain.h)
CBlockIndex::GetBlockWork() + GetProofIncrement(nBits) -> GetBlockProof(CBlockIndex)
[Wallet] Reduce minTxFee for transaction creation to 1000 satoshis
Add a locking mechanism to IsInitialBlockDownload to ensure it never goes from false to true.
Reset setBlockIndexCandidates once block index db loaded
Win32: log addresses found in Discover() calls
Win32: change buffer size for gethotsname in Discover()

- 256 byte is the maximum, as per
  http://msdn.microsoft.com/en-us/library/windows/desktop/ms738527%28v=vs.85%29.aspx
Discourage NOPs reserved for soft-fork upgrades

NOP1 to NOP10 are reserved for future soft-fork upgrades. In the event
of an upgrade such NOPs have *VERIFY behavior, meaning that if their
arguments are not correct the script fails. Discouraging these NOPs by
rejecting transactions containing them from the mempool ensures that
we'll never accept transactions, nor mine blocks, with scripts that are
now invalid according to the majority of hashing power even if we're not
yet upgraded. Previously this wasn't an issue as the IsStandard() rules
didn't allow upgradable NOPs anyway, but 7f3b4e95 relaxed the
IsStandard() rules for P2SH redemptions allowing any redeemScript to be
spent.

We *do* allow upgradable NOPs in scripts so long as they are not
executed. This is harmless as there is no opportunity for the script to
be invalid post-upgrade.
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
Port/fix txnmall.sh regression test

Ported txnmall.sh to Python, and updated to match
recent transaction malleability changes.

I also modified it so it tests both double-spending
confirmed and unconfirmed (only-in-mempool) transactions.

Renamed to txn_doublespend, since that is really what is
being tested. And told the pull-tester to run both
variations on this test.
Truthier error message when rpcpassword is missing
Implement BIP 23 Block Proposal
QA RPC tests: Add tests block block proposals
submitblock: Check for duplicate submissions explicitly
Update comments in src/rpc* to be doxygen compatible