Also provide a tryExtValue() API like APInt did in D139683
This patch is almost identical to D140059, that one got reverted due a MIParser bug.
MIParser::parseImmediateOperand() expected APSInt.getExtValue to give back a 64bit integer regardless the sign.
getExtValue() used to provide a 64bit representation regardless of the sign.
After this patch, only 63 bits are allowed for unsigned value since the return value is int64_t.
This change of semantics caused some unit testing w/ large constants to fail.
We modify MIParser to refelect the intended behavior using try API introduced in D139683.
It's also a show case how try API can be used conveniently where user don't need to worry about
the detailed conditions.