C-FOVE: Unification and Lifted Elimination for Counting Formulas

* ParameterizedFactor: sum out of counting formulas
* SimpleParfactor: sum out of counting formulas and correction on
method to calculate the size of the parfactor (considering
constraints)
* CountingFormula: method to be used in lifted elimination
* LogicalVariable: correction and addition on methods that deal with
population satisfying a set of constraints
* SimpleParfactorTest: added tests to unification and sum out
* Pool: data structures for tests
* MathUtils: method to calculate factorial. 

The method to calculate factorial is not reliable, nor efficient. It
can only calculate up to 20!, which severely limits calculations on
parfactors using counting formulas.
I could finally finish Unification, adapting the example provided by
Kisynski.