Relay OP_RETURN TxOut as standard transaction type

Also fix decoderawtransaction to not show reqSigs or addresses for
nulldata txouts. (Previous version also left reqSigs uninitialized
mistakenly)
Show short scriptPubKeys correctly

Previously bitcoin-qt's -debug transaction info was showing CTxOut([error])

It is valid for a scriptPubKey to be any size, for example simply
OP_RETURN is valid and can be used to destroy a TXOUT to mining fees.
Give peer time-adjustment data an own lock

Instead of relying on cs_main (defined in a different module) to
prevent concurrent access to it.
Do not treat fFromMe transaction differently when broadcasting
Remove broken PrintWallet functionality
Use boost signals for callbacks from main to wallet
Break dependency of init on wallet.

This required some code movement (what was CWalletTx::AcceptToMemoryPool
doing in main?), and adding a few explicit includes that used to be
implicit through init.h.
GUIUtil: make getSaveFileName() use native OS path separators
Remove redundant insert method in serialize.

This seems to cause problems on recent clang, and looks totally
redundant and unused.

The const_iterator version is identical to the vector::const_iterator
one (which is a typedef thereof). Marking it private (instead of
removing) compiles fine, so this version is effectively unused even.
Fix comparison tool by asking for blocks more aggressively
Re-enable BitcoindComparisonTool:

 * Use the latest version, with limited memory usage, and path to
   on-disk db (try mouting qa/tmp on a tmpfs)\
 * enable -debug=net
 * re-enable BitcoindComparisonTool in pull-tester
Merge pull request #3158 from Diapolo/guiutil

GUIUtil: make getSaveFileName() use native OS path separators
walletview: make backupWallet() use GUIUtil::getSaveFileName()

- this allows removal of several Qt headers and makes use of a
  standardized function in GUIUtil
- adds selected path to the UI output
walletview: clarify 2 comments
Make large-reorg tests optional in block-tester
pull-tester.py: Re-enable coverage msg, new args to run test script
Merge pull request #3164 from TheBlueMatt/master

Re-enable BitcoindComparisonTool on pull-tester
Gracefully handle the case when a DISTDIR already exists
Run block tester and test suite on Windows too (only on Jenkins)
Fix port binding by listening on port $BASHPID