AC-FOVE: code refactoring for SimpleParfactor (split)

* Renamed SimpleParfactor to StdParfactor
* StdParfactor cleaning and refactoring (added Builder to facilitate
creation of instances)
* Refactoring Parfactor interface
* Builder interface to apply the builder pattern to complex
structures (Parfactors mainly)
* Moved methods to build objects from Builder to their corresponding
classes
* Added private constructor to Sets to avoid instantiation
* Added methods to Substitution that would otherwise require verbose
code
* Added method to check if Binding is valid
* Added constructor to StdSplitResult
* Corrected a bug in StdDistribution where parfactor would not get
added as residues
* Factor: new constructor, method to check if it is constant, method
to apply substitution