fixed MAX_STANDARD_TX_SIZE to match bitcoin core

in bitcoin core MAX_STANDARD_TX_SIZE is 100000, not 102400

https://github.com/bitcoin/bitcoin/blob/master/src/main.h#L43
HD Wallets: fix key lookahead and auto-advance so it works as intended.

Previously the codepath that was supposed to mark keys as used didn't work, and the lookahead calculation wasn't quite right. Now the current key advances correctly when an inbound tx is found that spends to it, including pending transactions. Additionally the lookahead zone now has the threshold zone after it, not inside it, meaning that if you request a lookahead size of 100 keys you'll actually always have at least 100 keys, never less.
Fix reason why BIP38 test vector is failing, Java strings can contain null characters just fine.
Fix some exception messages in BIP38PrivateKey.
Getter for addresses watched by wallet.
Made some methods public in BasicKeyChain. Fixes in deterministic key generation
Update wallet todo list.
Remove the HD wallets todo list - there's now sufficiently little left to do that it's no longer useful. Other stuff should be put into the bug tracker.
Re-organise the layout of the Wallet file and introduce IntelliJ compatible editor regions, so parts of the code can be folded by feature area. This also makes it easier to understand what exactly the wallet does and why it's so huge.
Update bip38 test3 ignore message again now the problem is better understood.
Adjust the behaviour of the current key mechanism to be more like what gui wallets really need.
Merged changes from upstream