FullPrunedBlockChainTest: add more debug logging.
Payment channels: expose whether a channel was initiated or resumed in the ClientConnection interface.
Payment channels: expose server state object via PaymentChannelServer property
Payment channels: require a minimum payment to initiate.

This is a (backwards incompatible) protocol change that prevents clients or servers getting into a situation where they have opened a channel that they then cannot close because insufficient value has been transferred.

The server is allowed to specify the minimum payment it requires in order to open any channel at all, and the client then sanity checks that. Currently the rule is very simple - the min payment must be equal to the hard-coded dust limit. In future it will get more complicated as the dust limit starts to float and a more nuanced risk analysis may become required.
Payment channels: bump protocol version.

The protocol gained a PAYMENT_ACK message and now requires a min payment up front. Thus, it is incompatible with previous versions.
Take out a flaky part of WalletTest that isn't relevant anymore since even immediate auto-saves now run on a separate thread. The auto-saving is tested elsewhere anyway.
Experimental tweak to the definition of the numBroadcastPeers confidence field: now it actually does what the name implies.
Wallet: improve double spend handling.

Now connects all inputs of an overriding transaction, meaning balance is correct if a bit-tweaked but semantically identical transaction double spends its shadow (e.g. during key rotation on a cloned device).

Still does not recursively kill transactions however.

Resolves issue 439.
Added MnemonicCode, implements BIP-0039.
Payment channels: clear a static analysis thread safety warning.
Add Ken to the AUTHORS file.
TransactionBroadcast: when there are an odd number of peers, bias towards more receivers rather than more announcers.
TransactionBroadcast: add a unit test that verifies the rebroadcast functionality works.
Wallet: always broadcast all pending txns, not only those that are unmarked.
Wallet: don't call killTx if it has no work to do, cleans up a misleading log line.
ECKey: allow unit tests to disable signature creation/verification.
Payment channels: fix a simple thread-affinity bug revealed by a flaky unit test. It does not affect real apps.

Disable signature checking in ChannelTest to make it run faster, especially in the debugger, and bump timeouts so client/server don't timeout when debugging.
WalletTool: recognize private key format properly.

Resolves issue 390.
Add a default c'tor to MnemonicCode and simplify the unit tests.
HDW: Add some docs and a safety check to HDKeyDerivation.