Add arity-checking for >4 or variable targets in indy logic.
Fix Fixnum and Float reopening invalidators to stay invalid.

Because we used a rolling SwitchPoint invalidator for reopening of
Fixnum and Float, they would almost immediately go back to fast
paths and ignore changed methods. This was rare, and would only
affect code patching non-/ math or boolean operations, since we
were not fast-pathing / yet due to mathn.rb replacing it. The fix
gets us to zero failures on MRI's suite with invokedynamic active.

The jit logic for numerics needs to be revisited so that only
actually-replaced methods give up on fast path, so this is going
to get ripped out and replaced anyway, but for now it could mean
a slight perf drop in numeric perf when mathn is loaded.