Fix typing checking for and_do_block when the stubbed method has a block argument

Blocks' signatures have extra type information which isn't present in methods' signatures. In particular, the signature of a block which receives another block includes the complete return type and parameter information of the block argument.  This results in type mismatches when the type strings are compared. We have to strip out some of this information so that we match only against the information which is also included in the stubbed method's signature.

Thanks to @idoru for discovering the issue.