Married HD wallets: Bloom filter adjustments

Pull request: #115
Based on design notes:
https://groups.google.com/forum/#!msg/bitcoinj/Uxl-z40OLuQ/e2m4mEWR6gMJ
Close connections in H2FullPrunedBlockStore
Add encrypt/decrypt command to the WalletTool help text.
HD Wallets: redo key rotation, it's no longer automatic and expects the wallet app to poll for maintenance transactions. Deterministic keys now inherit the creation time of their parent.
added a helper function to parse human readable deterministic paths
Married wallets: extending fee calculation
PeerGroup.startBlockChainDownload(): add the supplied listener to the
downloadingPeer
Updated AUTHORS file.
Peer.blockChainDownloadLocked() - fix getblocks message documentation
Update the documentation for Transaction.hashForSignature to note a quirk of P2SH outputs.
Update root POM for github switch and remove the old googlecode repo, which is blocked in China.
relax assumption that HD seeds are 128 bits
relax assumption that HD seeds are 128 bits

cleanup
Update HD wallets todo list.
Auto-upgrade to HD when fetching a change address.
Make DumpedPrivateKey serializable, so that it can be used to pass around keys between loosely coupled application components.
Fix a payment protocol unit test that had a forgotten @Test annotation and thus didn't actually work.
Fix ECKey.equals() and toString() to also include encryptedPrivateKey. Convert to Guava and consolidate at bottom of class.
Add ability to prefix or postfix currency codes when formatting coins. Defaults are BTC, mBTC and µBTC.
Coin.toFriendlyFormat() includes denomination (BTC). This saves a lot of string concatenation code.