MFC r342880,r343981,r344902: sh: Fix $((-9223372036854775808))
Since $((9223372036854775808)) overflows, $((-9223372036854775808)) was not
parsed correctly (with x=-9223372036854775808, $((x)) already worked, since
that parses the value with the minus sign in one step). Values further from
zero are still clamped to 9223372036854775807.
Also, allow the full 64 bits in octal and hexadecimal.