Remove undocumented and unused Transaction constructor. I found it misleading because it allows you to pass in a hash, but the hash can be changed without notice.
Fix Wallet.isTransactionRelevant() JavaDoc. There is no "includeDoubleSpending".
Fix Wallet.checkForDoubleSpendAgainstPending() JavaDoc. It returns a boolean.
Fix link in Wallet.notifyTransactionIsInBlock() JavaDoc.
Copy @throws from the JavaDoc of Wallet.completeTx() to all calling methods.
Remove unused CouldNotAdjustDownwards. Move JavaDoc to the real one.
Allow zero repetitions for CoinFormat.repeatOptionalDecimals(). Also add tests.
Fixed bitcoinj DoS. It could have been crashed by a malicious message.

Bitcoinj can be crashed with OutOfMemory by sending a message with
a large claimed var_str length or bytes array length.

The actual message size does not matter, it's the claimed length that matters.

This affects all bitcoinj-based apps that receive messages including Multibit, Android Bitcoin Wallet, Mycelium and Hive.

The fix limits accepted length to max message size (32 MB).

Signed-off-by: Mike Hearn <mike@plan99.net>
Renamed Hash back to Sha256Hash to make merging from upstream easier
Merge branch 'master' of github.com:bitcoinj/bitcoinj