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

Hmm, indeed.

I'm still not sure that our definition of the binomial is consistent.  Also, apparently it's different than mpmath's one:
```
In [10]: binomial(-5, -30, evaluate=False).evalf()
Out[10]: -23751.0000000000

In [11]: binomial(-5, -30)
Out[11]: 0
```