Fixed LightUp's case rule verification (which was not working due to the
change in the location of CaseRules in the tree structure). Added
factorial, permutation, and combination functions to the Permutations
class. Generalization of one of the helper functions (findCommonBlock())
will allow a more precise error message for one of the cases in
CaseSatisfyNumber. Moving the helper functions used by various rules'
checkRuleRaw() functions to a central location would likely minimize
code duplication (noticed this as including TreeTent's caserules for
helper functions sped up implementation of CaseSatisfyNumber.