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
Update comments in chain to be doxygen compatible
Update comments in chainparams to be doxygen compatible
Enable customising node policy for datacarrier data size with a -datacarriersize option
Update generate-seeds.py to produce doxygen compatible comments
Update comments in wallet to be doxygen compatible
Update comments in key to be doxygen compatible
Update comments in keystore to be doxygen compatible
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)
Separate protocol versioning from clientversion
Add missing reserved address spaces.
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