Update sb-gmp contrib.

Update from https://github.com/sfrank/sb-gmp
Add sb-mpfr contrib.

From https://github.com/sfrank/sb-gmp

Closes lp#1305266.
compiler/{ir1opt,node}: Allow forcing a CAST node to always exist.

  * At the IR2 level, CAST nodes have the rather wonderful effect
of moving values from one LVAR to another.  This is occasionally a
useful thing to do in and of itself, with the drawback being that
a CAST which the compiler proves will never fail its typecheck
ends up getting eliminated during IR1OPT, outright replacing one
LVAR with the other.

  * Allow marking a CAST node as "never delete", meaning that even
if the compiler COULD prove that it will never fail its typecheck
the node must remain in place.  This is a bit of a KLUDGE, but too
useful of a thing not to do, and far less effort than adding a
whole new node type to get the same IR2 effect.
compiler/ir1opt: Don't break STACK analysis in MAYBE-DELETE-EXIT.

  * When deleting a local exit that is delivering multiple-valued
results to its continuation, and there is another live exit path
that could deliver already-computed multiple-valued results to the
same continuation, simply using DELETE-FILTER to unlink the EXIT
node and substitute the LVARs causes stack analysis to believe
that the previous value of the LVAR is dead well prior to the
(being-unlinked) EXIT node.

  * Instead, what we need to do is to splice in a new block that
contains a CAST node to overwrite the continuation LVAR, and to
arrange it so that the CAST cannot be merged back onto the block
that contained the EXIT, allowing STACK analysis to conclude,
correctly, that the previous value is still live until after the
block formerly containing the EXIT node.

  * This is bugs lp#309099, lp#518099 and lp#533930, fixed at long
last.
CAST nodes from deleted EXITs need to hold the EXIT and ENTRY LEXENVs.

  * It turns out that we need to delete these CASTs under certain
circumstances, but we need a somewhat more clever analysis than
the default (hence "never-delete" in the first place).  The simple
version of this analysis requires the LEXENV of the deleted EXIT
node and the corresponding ENTRY node, so stash those in the CAST
instead of a "never-delete" flag.

  * Also update the printer for CAST nodes to include the two
LEXENVs.
Enable deletion of "vestigial exit" CASTs under conservative circumstances.

  * Rather than any more complex analysis, use a simple analysis
that gives us most of the benefit: If there are any ENTRY nodes
between the LEXENVs of the deleted EXIT and its former ENTRY
(including the former ENTRY itself) that still have associated
EXIT nodes (that is, the exits have not yet been deleted as local),
we may not delete the CAST.  Otherwise, out it goes.
Implement fixnum-mod-p VOPs on ARM.