Make sure a reorganize in SetBestChain() repoints pindexNew
Make sure a reorganize in SetBestChain() repoints pindexNew

This makes sure that pindexBest actually ends up in the right place. The
commit 5192cb4d made it clear that this is the change is needed. This
code has always been wrong and has not really been able to properly handle
errors in ConnectBlock() during reorganize events.

neutroncoin/neutron,neutroncoin/neutron,neutroncoin/neutron,neutroncoin/neutron