subfactorial is an integer

I have implemented `_eval_is_integer` in `subfactorial`, so that the output of this function is considered to be an integer. Since the input of this function must be an integer, perhaps `return True` would have been better - but I have chosen this alternative, as I would like to see this:
```python
>>> k = Symbol('k', integer=True, nonnegative=True)
>>> floor(subfactorial(k))
subfactorial(k)
>>> x = Symbol('x', real=True)
>>> floor(subfactorial(x))
floor(subfactorial(x))
```
(You should use fuzzy_not, not `not`, too.)