Fix corner case for logFactorial

When input is equal to maxBound `fromIntegral (n+1)` overflows
and function returns NaN as result. Instead add 1 after conversion to
double. It's exact when n is small and when 1 is smaller that ulp
it doesn't matter anyway
Better error message
Generalize type of logFactorial

Allow any Integral input. It makes sense since double doesn't overflow
until ~2^1000 so we may want to allow Integer input
typos
Reduce maximum number of iterations

Limit was set artifically high for purposes of debugging and never
was reverted