r can be as large as the smaller of a and b. Fix sign check. Add comments as to what GCD does.
mp_leading_bit