Use let/ec only when needed (i.e. when raise-blame-error is not used).
Also remove some of the old checking functions from mzlib's object-contract
code that are no longer needed now that we have unified the first-order
checking.
original commit: 96db670d8c5453173b9bf92375512fc57cafbfcd