Moving block generation functionality in to wallet.  Separating wallet and wallet store.