[QT] Don't ask for a passphrase to getnewaddress.

With an encrypted wallet the GUI was prompting for a passphrase every time
 the user requested a new address.  This is unnecessary, increases the
 exposure to keyboard sniffers, and discourages using fresh addresses for
 every transaction.

Instead only prompt for a passphrase when the keypool runs out, also call
 the new address function with the flag that prevents reuse.

Thanks to AlexNagy on IRC for pointing this out and who wouldn't take any
 lip from a curmudgeonly developer and insisted on what he knew to be true.
Remove fAllowReuse from GetKeyFromPool.

With the GUI password fix this was always false.
CreateNewBlock() now takes scriptPubKey argument,
rather than a key.

CreateNewBlockWithKey() helper is added to restore existing functionality,
making this an equivalent-transformation change.
RPC: getblocktemplate does not require a key, to create a block template

getblocktemplate only uses certain portions of the coinbase transaction,
notably ignoring the coinbase TX output entirely.

Use CreateNewBlock() rather than CreateNewBlockWithKey(), eliminating
the needless key passing.

Should be zero behavior changes.
Bitcoin-Qt: add testnet check and icon to intro dialog
move Checkpoints:fEnabled from step 2 to step 3 in init

- it belongs to parameter-to-internal flags step, not parameter
  interactions phase
Document and test OP_RESERVED weirdness

Seems it was forgotten about when IsPushOnly() and the unittests were
written. A particular oddity is that OP_RESERVED doesn't count towards
the >201 opcode limit unlike every other named opcode.
miner: constify CreateNewBlock() arg scriptPubKeyIn
Merge pull request #2938 from petertodd/op-reserved-weirdness

Document and test OP_RESERVED weirdness
Merge pull request #2928 from jgarzik/cnb-txout

CreateNewBlock / getblocktemplate cleaning
Merge pull request #2904 from gmaxwell/newaddr-no-passphrase

[QT] Don't ask for a passphrase to getnewaddress.
Merge pull request #2931 from Diapolo/intro

Bitcoin-Qt: add testnet check and icon to intro dialog
Bitcoin-Qt: fixes for using display unit from options

- extend PaymentServer with setOptionsModel() and rework initNetManager()
  to make use of that
- fix all other places in the code to use display unit from options and no
  hard-coded unit
Merge pull request #2940 from Diapolo/checkpoint

move Checkpoints:fEnabled from step 2 to step 3 in init
Merge pull request #2930 from Diapolo/displayUnit

Bitcoin-Qt: fixes for using display unit from options
qt: Add comment to sorting step in refreshAddressTable
Add "mkbootstrap" script to contrib, for creating bootstrap.dat.
Merge branch 'mkbootstrap'
contrib/misc/mkbootstrap: rename to linearize.py
qt: Use GUIUtil::HtmlEscape to escape HTML

This is why we created this function. Avoids some #ifdef.