The next two methods test the various cases under which we must conclude
the replica is corrupt, or under construction.  These are laid out
as switch statements, on the theory that it is easier to understand
the combinatorics of reportedState and ucState that way.  It should be
at least as efficient as boolean expressions.

@return a BlockToMarkCorrupt object, or null if the replica is not corrupt