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.
Nit: please use %s w/ __func__ here for the error, so that it shows the right function name instead of `AcceptBlock()` (same on line 2419)