Check the block header checksum before we clear it, it should be the same as the passed-in checksum, and if just those 4 bytes are corrupted, we wouldn't noticed. SERVER-16457.
I also rephrased the code to assume success is the faster path.
@agorrod, would please review this one and merge if you're happy with it?