Avoid recursion using math.

This changes how the number of genotype likelihoods are calculated to use a direct solution rather than solve computationally by recursion. It is useful for the unifiedgenotyper when it is called at high ploidy
because the values are not cached and so are recalculated with ~100ks of function calls on each go.

Note that a future pull request could change the caching scheme to use dictionaries and further save time.
If there is already a factorial that would work, please direct me to it.  I didn't look for one as often times they use gamma functions and aren't very efficient for small ints.  I don't think it matters much relative to not using recursion though...