add entry point to construct an OpaqueClosure from pre-optimized IRCode (#44197)
* add entry point to construct an OpaqueClosure from pre-optimized IRCode
* update `jl_new_codeinst` signature
* fixes to OpaqueClosure argument count handling and MethodError display
* more test coverage
Co-authored-by: Shuhei Kadowaki <aviatesk@gmail.com>