Factorial

Calculates the factorial of a value using recursion