[CIR] Remove overly strict end_catch assertion in catch handler flattening (#193796)
The assertion in `flattenCatchHandler` required `end_catch` to be the
last operation before `yield` in catch handlers, with only branches in
between. Complex catch handlers with cleanup code or nested control flow
can have additional operations between `end_catch` and `yield`. The
yield-to-branch replacement does not depend on `end_catch` position.
Made with [Cursor](https://cursor.com)