Add nothrow modeling for global assignment (#45421)
Currently global assignment conservatively taints nothrow.
We can do better by looking at whether the global exists,
isconst, its type, etc. and determine whether there is
any possibility that the assignment will throw and taint
the effect accordingly.