remove the `simple_llvm_intrinsic` wrappers

This removes a layer of generated wrappers from native LLVM intrinsics
we can represent directly in the type system. There are a lot with `i1`
parameters so there's still a need for those to be in the compiler.

These are an implementation detail of the compiler, so the inconsistency
is worth the simplification and faster compiles.