Falling and Rising factorials of integers are integers

Assuming both arguments are integers, the function output is also known to be
integer.

I have also added a test for the output type of `binomial(n, k)`.
> because binomial returns 0 for k < 0 or n < k

That's not true:
```python
>>> binomial(2, -S.Half).evalf()
0.339530545262710
>>> binomial(0, S.Half).evalf()
0.636619772367581
```
and if `n`,`k` are integers, we're ok, since it is integer anyway.