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.
ECKey: some more nullity checks/annotations.
Added buffer to MnemonicCode, it was modifying it's key argument (stretching in place).
Add wallet-template file I forgot to check in
Rewrite the network stack.

Remove Netty entirely, using the new Nio wrapper classes instead

* BitcoinSerializer now uses ByteBuffers directly instead of
  InputStreams.
* TCPNetworkConnection and NetworkConnection interface deleted,
  Peer now extends the abstract class PeerSocketHandler which
  handles deserialization and interfaces with the Nio wrapper
  classes.
* As a part of this, all version message handling has been moved
  to Peer, instead of doing it in TCPNetworkConnection.
* Peer.setMinProtocolVersion() now returns a boolean instead of a
  null/non-null future which holds the now-closing channel.
* Peer.sendMessage (now PeerSocketHandler.sendMessage()) now
  returns void.
* PeerGroup has some significant API changes:
  * removed constructors which take pipeline factories,
    makePipelineFactory, createClientBootstrap
  * Replaced with a setSocketTimeoutMillis method that sets a
    timeout between openConnection() and version/verack exchange.
    (Note that because Peer extends AbstractTimeoutHandler, it has
    useful timeout setters public already).
  * connectTo returns a Peer future, not a ChannelFuture
  * removed peerFromChannelFuture and peerFromChannel
* Peer and PeerGroup Tests have semi-significant rewrites:
  * They use actual TCP connections to localhost
  * The "remote" side is a InboundMessageQueuer, which queues
    inbound messages and allows for writing arbitrary messages.
  * It ignores certain special pings which come from pingAndWait,
    which is used to wait for message processing in the Peer.
  * Removed a broken test in PeerGroupTest that should be reenabled
    if we ever prefer a different version than our minimum version
    again.
  * Removed two duplicate tests in PeerTest (testRun_*Exception)
    which are tested for in badMessage as well.
  * Added a test for peer timeout and large message deserialization

Author:    Matt Corallo <git@bluematt.me>
nonetty: Fix a couple of unit test bugs.

Remove references to netty that still appeared in comments/POM
nonetty: Print fewer stack traces on errors. Handle failure of initial connect call.
Don't allow setting writeTarget twice.