Minor miner fixes (hey hey it's fun to say)

* Fix UpdateCoins() definition in main.h
* Remove pwalletMain reference from BitcoinMiner(), as it is passed
  a wallet argument.
Move internal miner/block creation to separate miner.cpp module.

Public functions referenced elsewhere are added to miner.h.
Merge pull request #2867 from jgarzik/miner-sep

Move internal miner to separate miner.cpp module