Show only one zero instead of many when getblocks request received with a hashStop of uint256(0)
Increase max outbound connections from 8 to 128.
Max blocks in transit set to 16
Allow peers to determine how much they are seen to be misbehaving.

This can allow peers in future to modify their behaviour to avoid netsplits.
Add CaughtUp() function (needed by later commits)
Record timings of block download process and display count of block invs received.
Fix many orphan problem. Don't getblocks following orphan reception. (Needs CaughtUp())
Don't getdata blocks if an inv is received that wasn't requested (getblocks).

Also, show invs being received (and indicate whether we have the block or not).
Better logging of ProcessMessages() progress
Show downloaded block size and time taken to download.
Replacement stalled block logic. Depending on the situation, it will either disconnect
the peer (as previoous behaviour), or it will reselect a syncnode (e.g. when 500 blocks
have been received from the syncnode).
Allow nodes to send version messages more than once.
Display unknown commands received.
Report ping times at they arrive.
Antisocial (needs CaughtUp)
indentation
Rename MarkBlockAsReceived to MarkBlockAsRequested to reduce confusion.
Force selection of a new syncnode since the current syncnode is about to stop sending blocks.
getblocks received show height not hash