Adding functions ceil() and factorial() and enabling abs()
Added more tests
Disabled repeated evaluation of fucntions in DFunc, using version of these in FunctionNode