Fix yet another dumb script bug (resolves issue 479)
Cleanup: use varargs methods in slf4j rather than new Object[]{}
Wallet: record the timestamp of the last block seen.
Wallet: improved risk analysis.

Extract out the "is time locked" risk analysis code to a pluggable implementation.
Ensure the default implementation has 100% test coverage.
Consider finality, not merely the presence of a lock time, when judging risk.
Don't consider a tx risky if it would become final in the next  block.
Do not consider self-created transactions risky.
Payment channels: rename "close" to "settle".

The previous overloading of the term "close" to mean both settlement of the channel (broadcast of the final payment tx) and terminating/cleaning up the underlying network connection was very confusing and made the code harder to work with. The notion of "closing" a protocol that is often embedded inside others isn't really well defined, so there's perhaps more work to do here, but this change makes the code easier to follow and is basically a big pile of no-ops.
Add missing copyright headers in a few places.
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.