[flang] handle intrinsic interfaces in FunctionRef::GetType (#89583)
User functions may be declared with an interface that is a specific
intrinsic. In such case, there is no result type available from the
procedure symbol (at least without using evaluate::Probe), and
FunctionRef::GetType() returned nullopt. This caused lowering to crash.
The result type of specific intrinsic procedures is always a lengthless
intrinsic type, so it is fully defined in the template argument of
FunctionRef. Use it.