Function to Rewrite Gamma as Factorial #8621

Rewrite of this kind is very useful in case of combinatorial simplification.

Earlier we could only rewrite factorial in terms of gamma, but with the help of this PR, we can do vice-versa also.

Example:
```python
>> from sympy import *
>> n = symbols('n')
>> gamma(n).rewrite(factorial)
>> factorial(n - 1)
```
Also added test.

This closes #8621 
We don't need a check for that, as in that case it will simply return complex infinity.