Null types are commonly used as an error marker. Catch them in the constructor
of Operation if they are present in the result type list, as otherwise this
could lead to further surprising behavior when querying op result types.
Fix AsyncToLLVM and StandardToLLVM that were using null types when constructing
operations.
We could also consider adding a TypeRange constructor that creates an empty range out of a null type, but that would look surprising to me in the case of