This adds nocapture attribute to the definitions of intrinsics va_start,
va_end, and va_copy, which indicates that they do not make any copies of
pointers to va_list that outlive the call.
This allows TailCallElim to mark tail calls in variadic functions as such, and
targets to successfully eliminate these calls if it's otherwise possible.
Currently unmarked tail calls in variadic functions are not recognized because
TailCallElim conservatively extends the lifetime of va_list local to the end
of the function.