separate miner

Mining, force mining, mining new transactions, etc. function properly along with start/stop operations. 
Option A:
	std::function<void(MineProgress _progress, bool _completed)> f = std::bind(&Client::minerDidUpdate, this, std::placeholders::_1, std::placeholders::_2);
	m_miner.reset(new Miner(m_bc, f));

Option B:
	m_miner.reset(new Miner(m_bc, [this](MineProgress _progress, bool _complete){
		minerDidUpdate(_progress, _complete);
	}));

I vote B :+1: