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.
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
autotools: cleanup usage of MSG_NOSIGNAL

This is Part of an autotools buildsystem port.

Previously MSG_NOSIGNAL was defined in a few places, and -DMSG_NOSIGNAL=0 was
passed by the osx build to signify that it was unavailable there. For Win32, it
was assumed to be unavailable.

This commit flips the logic so that the unix build declares the feature. The
HAVE_MSG_NOSIGNAL define will be (automatically detected and) set by autotools
as well, so that both build methods will give the same results.

There should be no observable changes in functionality here.
autotools: include bitcoin-config.h for autotools builds
autotools: add srcdir param for genbuild.sh

This allows us to search for .git, so that we can make a guess as to whether
we're in a repository or just an extracted tarball.

TODO: might want to check for GIT_DIR env var as well.
autotools: add autotools files
autotools: add windows-deploy target

This uses makensis to create the win32 installer exe.

Usage: make windows-deploy
autotools: update gitian descriptors
autotools: use boost sleep value from configure
autotools: update gitignore
autotools: delete old makefiles
tests: fix qt test build
autotools: quick partial update of docs

TODO: Update win32/osx docs