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.
Wait, so which way is the convention for if statements?  It seems both 

    if (someCondition
and
    if ( someCondition

are currently used (e.g. compare lines 546 and 560 of Genotype.java)