Implement some BIP0023 getblocktemplate mutations.
Implement some BIP0023 getblocktemplate mutations.

This commit implements a portion of the mutations section of BIP0023.
In particular, it adds the mutable, mintime, maxtime, and noncerange keys
to the returned block template along with indicating support for the time,
transactions/add, prevblock, and coinbase/append mutations.  Also, the
addition of the mintime and maxtime fields imply support for the
time/decrement and time/increment mutations.  Further, if the caller
indicates the coinbasevalue capability, the coinbasetxn field will be
omitted thereby implying support for the coinbase and generation
mutations.

Closes #124.

btcsuitereleases/btcd,jrick/btcd,btcsuite/btcd,Dirbaio/btcd,Cleawing/btcd,btcsuitereleases/btcd,CryptocurrencyCabal/htcd,mathiasrw/btcd,ppcsuite/ppcd,Cleawing/btcd,jrick/dcrd,CryptocurrencyCabal/htcd,cjepson/btcd,Roasbeef/btcd,wallclockbuilder/btcd,cqswxj2013/btcd,sysbot/btcd,danoctavian/btcd,soapboxsys/ombfullnode,qchain/btcd,jrick/btcd,davecgh/btcd,runeaune/btcd,dajohi/btcd,glv2/ppcd,FactomProject/btcd,adiabat/btcd,stevenroose/btcd,jimmysong/btcd,DanielKrawisz/btcd,Stash-Crypto/btcd,ppcsuite/ppcd-old,jcmincke/dcrd,pkothbauer/btcd,toddfries/btcd,BitGo/prova,jrick/dcrd,sysbot/btcd,ltcsuite/ltcd,Stash-Crypto/btcd,Evil-Coin/Evil,1d4Nf6/btcd,Evil-Coin/Evil,dajohi/btcd,DanielKrawisz/btcd,hectorj/btcd,pkothbauer/btcd,dan-da/btcd,Dirbaio/btcd,decred/dcrd,jcmincke/dcrd,stevenroose/btcd,ltcsuite/ltcd,soapboxsys/ombfullnode,decred/dcrd,jimmysong/btcd,danoctavian/btcd,qchain/btcd,jcmincke/dcrd,dan-da/btcd,ppcsuite/ppcd-old,runeaune/btcd,BitGo/prova,davecgh/btcd,jrick/btcd,Dirbaio/btcd,tb00/btcd,1d4Nf6/btcd,cjepson/btcd,jongillham/btcd,glv2/ppcd,FactomProject/btcd,jongillham/btcd,tb00/btcd,aakselrod/btcd,btcsuite/btcd,cqswxj2013/btcd,ppcsuite/ppcd,hectorj/btcd,Roasbeef/btcd,wallclockbuilder/btcd,mathiasrw/btcd,toddfries/btcd,adiabat/btcd,aakselrod/btcd,dajohi/btcd