CLN: simplify maybe_convert_objects, soft_convert_objects
Block.replace has code for dispatching to either maybe_convert_objects or soft_convert_objects, but the former is only reached from the tests.  So rip that out and use soft_convert_objects.

Both of the functions have branches that are unreachable, so rip those out, along with adding types and validation.