Add BIP0022 and BIP0023 getblocktemplate support

This pull requests adds full `BIP0022` and most of `BIP0023` support for the getblocktemplate RPC to btcd.  In particular it adds support for:

* BIP0022 Non-Optional Sections
* BIP0022 Long Polling
* BIP0023 Basic Pool Extensions
* BIP0023 Mutation `coinbase/append`
* BIP0023 Mutations `time`, `time/increment`, and `time/decrement`
* BIP0023 Mutation `transactions/add`
* BIP0023 Mutations `prevblock`, `coinbase`, and `generation`
* BIP0023 Block Proposals
This is a fair point.  It was mainly done here because you may not ever actually need it.  However there are other places in the RPC server that also seed in the same manner, so doing it once in init is not a bad idea.