Support for BIP 23 block proposal

This would aide greatly in ensuring miners aren't messing up blocks, without the expense of losing 50 BTC.
I expect it's to minimize the differences in the code that's moving from the Accept* functions to the ContextualCheck* functions. But I agree it would be cleaner to just pass in a CBlockIndex*.