CreateNewBlock() now takes scriptPubKey argument, rather than a key.

CreateNewBlockWithKey() helper is added to restore existing functionality,
making this an equivalent-transformation change.

Rebased-from: 7e1701899534151972ddff3c08cc964a9db64bc5
Rebased-by:   Warren Togami <wtogami@gmail.com>
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.
miner: constify CreateNewBlock() arg scriptPubKeyIn

Rebased-from: f1dbed9233fb138026c646db0ac34e83ae2114f1
Rebased-by:   Warren Togami <wtogami@gmail.com>
Support absence of wallet (pwalletMain==NULL) in several locations,
notably RPC.

Conflicts:
	src/bitcoinrpc.cpp
	src/init.cpp
	src/rpcmining.cpp
	src/rpcwallet.cpp

Rebased-from: 541a7fcd515a27ebaa3ae5f1a9a698dab3db6ead
Rebased-by:   Warren Togami <wtogami@gmail.com>
RPC validateaddress: test pwalletMain for NULL (no-wallet mode)

Conflicts:
	src/rpcwallet.cpp

Rebased-from: b878f6a92436e3facd700e2e10c04f541cd6421b
Rebased-by:   Warren Togami <wtogami@gmail.com>
init.cpp: cosmetic indent changes, preparing for no-wallet mode

Conflicts:
	src/init.cpp

Rebased-from: 520cc05b89aae5fed155482d5fa66b4290487d55
Rebased-by:   Warren Togami <wtogami@gmail.com>
Add -disablewallet option, to disable wallet support (and BDB)

Conflicts:
	src/init.cpp

Rebased-from: 5d4f3a1f0cbdf52257b41ea09d175c0018ad9434
Rebased-by:   Warren Togami <wtogami@gmail.com>