Add CValidationInterface::BlockChecked notification
Bugfix: submitblock: Use a temporary CValidationState to determine accurately the outcome of ProcessBlock, now that it no longer does the full block validity check
Rename RPC_TRANSACTION_* errors to RPC_VERIFY_* and use RPC_VERIFY_ERROR for submitblock
Enable customising node policy for datacarrier data size with a -datacarriersize option
Rename ProcessBlock to ProcessNewBlock to indicate change of behaviour, and document it
qt: Move transaction notification to transaction table model

Move transaction new/update notification to TransactionTableModel.
This moves the concerns to where they're actually handled.
No need to bounce this through wallet model.

- Do wallet transaction preprocessing on signal handler side;
  avoids locking cs_main/cs_wallet on notification in GUI thread
  (except for new transactions)
Don't relay alerts to peers before version negotiation

Fixes #1436
Introduce preferred download peers
Fix for crash during block download
Fix -loadblock after shutdown during IBD
Be a bit more verbose during -loadblock if we already have blocks
RPC: submitblock: Support for returning specific rejection reasons
Update comments in version to be doxygen compatible
Update comments in client version to be doxygen compatible
tests: enable alertnotify test for Windows

The semantics of "echo" are different there and they change the resulting text,
but they're still correct and predictable.
tests: allow rpc-tests to get filenames for bitcoind and bitcoin-cli from the environment

This will allow for windows tests to run with bitcoind.exe and bitcoin-cli.exe
tests: fix forknotify.py on windows

Windows interprets 'foo.txt' as a literal filename while "foo.txt" is treated
as expected.
tests: remove old pull-tester scripts

They're unused since the switch to Travis
tests: replace the old (unused since Travis) tests with new rpc test scripts
add tests to travis