rpc: Prevent easy memory exhaustion attack

Allocate memory for POST message data only as bytes come in, instead of
all at once at the beginning.

Fixes #4343.
[Qt] seed OpenSSL PNRG with Windows event data

- see https://bitcointalk.org/index.php?topic=113496.msg1228193#msg1228193
  for the initial suggestion for this
- also ensure consistent debug.log message format
Fix CChain::GetLocator
Add CChain::GetLocator() unit test
Rename SendMoneyToDestination to SendMoney.

Get rid of SendMoney and replace it by the functionality of
SendMoneyToDestination.  This cleans up the code, since only
SendMoneyToDestination was actually used (SendMoney internally from this
routine).
Use GetBlockTime() more
Merge pull request #4463

e832ab7 Rename SendMoneyToDestination to SendMoney. (Daniel Kraft)
Merge pull request #4470

f4b00be Add CChain::GetLocator() unit test (Pieter Wuille)
3c85d2e Fix CChain::GetLocator (Pieter Wuille)
Merge pull request #4446

209377a Use GetBlockTime() more (jtimon)
Merge pull request #4373

2ec5a3d rpc: Prevent easy memory exhaustion attack (Wladimir J. van der Laan)
Merge pull request #4399

674c070 [Qt] seed OpenSSL PNRG with Windows event data (Philip Kaufmann)
replace ComputeMinWork with CheckMinWork
Remove redundant pblock->nNonce = 0
Move UpdateTime to pow
Move CBlockIndex::GetBlockWork() to pow::GetLengthIncrement(nBits)
Simplify and rename CheckWork to ProcessBlockFound
Encapsulate proof of work generation in pow
Encapsulate CBlockHeader fields for pow checks
Encapsulate CBlockHeader fields for pow updates
Proof abstract class