Factorial2 (!!) of an integer is an integer

`factorial2` of an integer is now known to be an integer. This is done via an implementation of `_eval_is_integer`.
`factorial2` is not defined for integers < -1, as the docstring says. For -1 it holds. `factorial(-2)`, for example, causes an infinite recursion, just like in #8491.