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.
Instead of adding a fWriteToDisk boolean argument, wouldn't it be more clear to split up the function in a checking and disk-writing part?