added AbstractNumericComparisonPredicate

remove repeated boilerplate from numeric comaprison predicates that was
introduced by removing Calculatables from KnowledgeBase #72