Wallet: don't save wallet and invoke event listeners when adding watched scripts if the call was a no-op.
PeerGroup: insert filter providers at the start of the list instead of the end, to help clients avoid circular deadlock.
Maven: auto release after close
WalletTool: use minBroadcastConnections == 1 when in regtest mode.
Immediately advance current addresses instead of doing it lazily. This avoids a bug whereby an app might quit after using a change address, thus currentKey(CHANGE) == null and it gets reset to the last used address when the wallet is round-tripped.

Unit tests didn't catch this because they didn't simulate the app terminating after the send, and weren't explicitly checking that the change address was different, so improve tests to do those things.

Additionally implement marking as used for married wallets.
Issue 586 fixed, 0BTC transaction with OP_RETURN will work.
Wallet extension: fix a regression introduced by e3a13a6, where in some kinds of app wallet extensions stopped being loaded properly.
PeerGroup: add/remove listeners from active/pending peers as well as the internal list.
Fix license headers in BitcoinURI/BitcoinURIParseException
Fix question marks could not be used in payment protocol request URI. Removes the check for multiple question marks in the bitcoin URI.

Also see https://github.com/schildbach/bitcoin-wallet/issues/169
WalletTool: magic --output value ALL for easier emptying of wallets.
Fix another license header.
1) Re-factored PostgresFullPrunedBlockStore and H2FullPrunedBlockStore into a generic DatabaseFullPrunedBlockStore class.
2) H2FullPrunedBlockStore now supports calculateBalanceForAddress() method.
3) Created an additional store for MySQL (MySQLFullPrunedBlockStore) and unit test.
4) Fixed unit test PostgresFullPrunedBlockStoreTest, second time execution was failing due to not clearing down the tables correctly.
5) Added methods getOpenTransactionOutputs() & deleteStore() to base class DatabaseFullPrunedBlockStore.
1) Fixed the height field to store the height for both coinbase/non coinbase open outputs.
2) Thanks to Ed Lee - Fixed Issue 447 : H2 store: block header hash code is off by 4 bytes. This fix also applies to Postgres and MySQL stores.
3) Added a coinbase field to the openoutputs table and updated code to use this value.
4) Updated field type of ‘value’ in the openoutputs table from bytes to long.
5) Updated the stores (DatabaseFullPrunedBlockStore) with a compatibility check.
6) Updated field type of ‘addresstargetable’ in the openoutputs table from int to tinyint/smallint.
Bug fix: The database access code was not updated on field value type change.