Add Generate support in mining.go.
Add Generate support in mining.go.

- Create FutureGenerateResult type with Receive() method

- Create GenerateAsync method for Client which returns a
  FutureGenerateResult

- Create Generate method for Client which calls GenerateAsync
  and then calls Receive() on the returned FutureGenerateResult

davecgh/btcd,tb00/btcd,decred/dcrd,ppcsuite/ppcd,jrick/btcd,Roasbeef/btcd,wallclockbuilder/btcrpcclient,btcsuite/btcrpcclient,btcsuite/btcrpcclient,Stash-Crypto/btcd,Stash-Crypto/btcd,tb00/btcd,dajohi/btcd,aakselrod/btcd,jrick/btcrpcclient,btcsuite/btcd,aakselrod/btcrpcclient,ppcsuite/btcrpcclient,runeaune/btcrpcclient,wallclockbuilder/btcd,ppcsuite/btcrpcclient,decred/dcrd,ltcsuite/ltcd,dajohi/btcd,wallclockbuilder/btcrpcclient,ppcsuite/ppcd,jrick/btcd,Roasbeef/btcd,jrick/dcrd,jrick/btcd,aakselrod/btcrpcclient,ltcsuite/ltcd,wallclockbuilder/btcd,dajohi/btcd,jrick/dcrd,jrick/btcrpcclient,runeaune/btcrpcclient,davecgh/btcd,btcsuite/btcd,aakselrod/btcd